Цитата:
Оригинал написал(а) sergwizard
Если нужно равномерное движение, то код такой:
Код:
this.onEnterFrame = function(){
var speed = 2;
y = mc._y -_ymouse;
x = mc._x -_xmouse;
mc._rotation = Math.atan2(y, x)/(Math.PI/180)
if(Key.isDown(38)){
mc._x -= Math.cos(Math.atan2(y, x)) * speed;
mc._y -= Math.sin(Math.atan2(y, x)) * speed;
}
if(Key.isDown(40)){
mc._x += Math.cos(Math.atan2(y, x)) * speed;
mc._y += Math.sin(Math.atan2(y, x)) * speed;
}
}
|
Не, зачем это тангенсы и косинусы вызывать... Лучше уж так:
Код:
this.onEnterFrame = function(){
var speed = 2;
y = mc._y -_ymouse;
x = mc._x -_xmouse;
var norm = Math.sqrt(y*y+x*x);
x /= norm;
y /= norm;
mc._rotation = Math.atan2(y, x)/(Math.PI/180)
if(Key.isDown(38)){
mc._x -= x*speed;
mc._y -= y*speed;
}
if(Key.isDown(40)){
mc._x += x*speed;
mc._y += y*speed;
}
}