Просмотр полной версии : проблема с вращением клипа
this.onMouseMove = function() {
var ang = Math.floor( Math.atan( this._xmouse/this._ymouse )*(180/Math.PI) );
_root.txt.text = "rotation: " + this._rotation + "\n" +
"angle:" + ang + "\n" +
"x: " + this._xmouse + "\n" +
"y: " + this._ymouse;
this._rotation = ang;
}
пытаюсь вращать некий клип всегда на мышку - в строке расчета угла каким-то раком меняются this._xmouse и this._ymouse =((
в чем трабла??
Dendroid
12.10.2006, 05:42
Всё в мире относительно, тем более координаты мышки повернутого клипа, она же не вращается вместе с клипом... ;)
Лучше так:
this.onMouseMove = function() {
var ang = Math.floor( Math.atan2( _parent._ymouse-this._y,_parent._xmouse-this._x )*(180/Math.PI) );
this._rotation = ang;
updateAfterEvent();
}
эээ...
1. а причем тут вообще парент? у меня клип лежит сразу на сцене.
2. а что такое тогда this._xmouse и this._ymouse ??
3. попробывал - не работает =)
Dendroid
12.10.2006, 06:03
1. Там координаты мыши не зависят от this._rotation, неважно где лежит.
2. Координаты мыши внутри клипа.
3. Пробуй лучше.
Вот полный код, повесь на любой клип:
onClipEvent (load) {
this.onMouseMove = function() {
var ang = Math.floor(Math.atan2(_parent._ymouse-this._y, _parent._xmouse-this._x)*(180/Math.PI));
this._rotation = ang;
updateAfterEvent();
};
}
Главное, не пытаться вращать _root ;)
второй код работает (правда на 90градусов меньше чем надо)
на тему _xmouse и _ymouse понял =)
рут вращать не буду =))
в общем, сенькс =)
Dendroid
12.10.2006, 06:22
"this._rotation = ang+90;" либо поверни весь контент в клипе :)
Пожалуйста.
до +90 додумался и сам =))
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.