хочу сделать что бы по заданной траектории пробегал мяч и как ластиком открывал картинку снизу, вот такой код вроде рисует все правильно, но не работает, подскажите в чем ошибка

Код:
var play_speed = 30;
var play_step = 0.03;
_root.firstX = 175;
_root.firstY = 200;
_root.R1 = 30;
_root.R2 = 150;
//это полный оборот
//_root.maxA = Math.PI * 2;
_root.maxA = Math.PI * 2.2;
//угол поворота элипсы
_root.k = 5;
_root.attachMovie("logo", "l", _root.getNextHighestDepth(), {_x:50, _y:140});
_root.createEmptyMovieClip("circle", _root.getNextHighestDepth());
_root.attachMovie("bl", "b", _root.getNextHighestDepth(), {_x:0, _y:_root.firstY});
circle._y = _root.firstY;
circle._x = _root.firstX;
circle.lineStyle(_root.b._width,2);
function rispic()
{
i=_root.ugol;
x = -Math.cos(i) * _root.R2;
y= -Math.sin(i) * _root.R1;
y = (x/_root.k)+Math.sin(i) * _root.R1;
circle.moveTo(x,y);
circle.lineTo(x + 1, y);
_root.b._x=x+_root.firstX;
_root.b._y=y+_root.firstY;
//_root.b.myach._rotation+=2;
_root.b._rotation+=2;
_root.ugol = _root.ugol+_root.play_step;
if(i > _root.maxA){
clearInterval(id);
}
}
_root.ugol = 0;
c = _root.circle;
//попытка сделать маскируемый и маскирующий слой, не работает
//_root.l.setMask(c);
id = setInterval(rispic, play_speed, false);