PDA

Просмотр полной версии : Как осуществить поворот мувика за мышью?


EndoCrinologist
16.05.2011, 21:32
Учитывая моё математическое полное среднее образование, но незнание всех функций AS, всё никак не соображу, как это осуществить.. Вот код... Но он не работает нормально..


function Mouser():Void{
xm = _xmouse; //текущее положение мыши по Х
ym = _ymouse; //текущее положение мыши по У
xo = obj._x; //текущая координата объекта obj по Х
yo = obj._y; //текущая координата объекта obj по У
ro = obj._rotation; //текущий угол поворота объекта

dx = xm - xo; //разница координат между мышью и obj по Х
dy = ym - yo; //разница координат между мышью и obj по У
cosA = dy / dx; //вычисляю косинус угла альфа, между гипотенузой и катетом координаты Y треугольника, образованный мышью, obj и перпендикуляром между ними
A = Math.acos(cosA); //вычисляю угол, на который будет поворачиваться obj
obj._rotation = A;
}
var time = setInterval(Mouser,1);



Что-то не работает.. Подскажите, как верно?

mooncar
16.05.2011, 21:55
this.onEnterFrame = function()
{
var dx = _root._xmouse - mc._x ;
var dy = _root._ymouse - mc._y ;
var angle = Math.atan2(dy, dx);
mc._rotation = angle * 180/Math.PI ;
};

EndoCrinologist
16.05.2011, 22:12
какой же я даун xD совсем логики нет xDD оказывается, надо тангенс брать :)

mooncar
16.05.2011, 22:15
Ну уж не надо так :)
Арктангенс 2-ой модели...

EndoCrinologist
16.05.2011, 22:35
а чем они отличаются?

Добавлено через 4 минуты
и еще вопрос.. как мне по клику мыши сделать так, чтобы этот объект скопировался через duplicate и пошел по направлению к мыши?

dark256
16.05.2011, 23:10
у меня такой не-собирающийся-быть-оскорбительным-но-пошлый-вопрос.
сколько вам лет, сорри?

это касательно названия и функционала тригонометрических функций.... ;)

EndoCrinologist
16.05.2011, 23:27
мне 18 :-[ но не особо въехал в функции)) а Вы сможете на вопрос ответить?
и еще вопрос.. как мне по клику мыши сделать так, чтобы этот объект скопировался через duplicate и пошел по направлению к мыши?

Merf
17.05.2011, 18:06
_root.obj.onPress = function():Void{
duplicateMovieClip(obj, "новое_имя" _root.getNextHighestDepth());
}
_root.onEnterFrame = function():Void{
_root.новое_имя._x = _xmouse;
_root.новое_имя._y = _ymouse;
}

EndoCrinologist
19.05.2011, 16:18
Что-то не работает. Объект просто копируется но не летит по направлению к мыши

Merf
19.05.2011, 17:42
я написал относительно _root, может у вас обьекты глубже лежат