Вот код, который написал.

Код AS1/AS2:
var shag = 2;
//old values
var x_mouse;
var y_mouse;
x_mouse = _xmouse;
y_mouse = _ymouse;
cl.onMouseMove = function() {
//right
if (_xmouse>x_mouse) {
if (this._x<0) {
this._x=this._x+shag;//
}
}
//up
if (_ymouse<y_mouse) {
if (this._y+this._height>400) {
this._y=this._y-shag;//
}
}
//down
if (_ymouse>y_mouse) {
if (this._y<0) {
this._y=this._y+shag;//
}
}
//left
if (_xmouse<x_mouse) {
if (this._x+this._width>=550) {
this._x=this._x-shag;// -
}
}
updateAfterEvent();//обновление
x_mouse = _xmouse;
y_mouse = _ymouse;
};
В onRollOut собирался продолжать двигать клип, по направлению мышки в последний момент до выхода за границы плеера.
Например:

Код AS1/AS2:
var move_ver = 0;//1 - up, -1 - down, 0 - stop
var move_hor = 0;//1 - right, -1 - left, 0 - stop
var flag_stop = false;
cl.onRollOut = function() {
flag_stop = false;
moving();
};
function moving() {
while (!flag_stop) {
if ((move_ver == 0) and (move_hor == 0)) {
flag_stop = true;
} else {
//up
if (move_ver == 1) {
if (cl._y+cl._height>400) {
cl._y = cl._y-3;
move_ver = 1;
} else {
move_ver = 0;
}
}
//down
if (move_ver == -1) {
if (cl._y<0) {
cl._y= cl._y+3;//
move_ver = -1;
} else {
move_ver = 0;
}
}
//right
if (move_hor == 1) {
if (cl._x<0) {
cl._x=cl._x+3;//
move_hor = 1;
} else {
move_hor = 0;
}
}
//left
if (move_hor == -1) {
if (cl._x+cl._width>=550) {
cl._x=cl._x-3;// -
move_hor = -1;
}
else {
move_hor = 0;
}
}
}
}
Но при этом картинка не движется, а перепрыгивает на конец...