Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Help! програмная анимация (http://www.flasher.ru/forum/showthread.php?t=65765)

rusich 18.06.2005 21:54

Help! програмная анимация
 
помогите пожалуйста, нужно сделать обект(стрелка) , который вращается вокруг своей оси... + под углом... т.е. нужно сделать, чтобы эта стрелка програмно менялась... и крутилась за мышкой... короче как часовая стрелка, но за мышкой... надеюсь понятно обьяснил... заранее всем спасип)

old_dark_elf 18.06.2005 23:56

В общем тебе нужно только вычислить угол поворота твоего обьекта...
Зная координаты (x;y) обьекта и мыши, находим нужный угол через арктангенс...

должно получиться что-то типа:
Код:

_root.onEnterFrame = function() {
tvoi_obekt._rotation=-Math.atan2(tvoi_obekt._x-_root._xmouse,tvoi_obekt._y-_root._ymouse)/(Math.PI/180)-90;
}


Штрек 19.06.2005 00:27

strelka.onMouseMove=function(){
this._rotation=180+180/Math.PI*Math.atan2(this._y-this._parent._ymouse,this._x-this._parent._xmouse)
}

rusich 19.06.2005 01:49

а будет ли при этом меняться размер стрелки? если смотреть под углом , то дальний конец должен быть короче чем ближний...

rusich 19.06.2005 01:55

и мог бы кто исходник кинуть ...хотяб на простых линиях,а то так что-то понять не выходит

Nirth 19.06.2005 04:42

причем тут размер О_о ? она у тебя на плоскости лежит? так бы сразу и сказал.

посмотри вот сюда http://codylindley.com/Tutorials/trigonometry/index.htm

_Sasha_ 19.06.2005 17:53

привет
 
Посмотри в Samples исходник Movement-pointer_or_click.fla
Там то что тебе надо! ;)

_Sasha_ 19.06.2005 18:02

Snovo _Sasha_
 
Создаешь маленькую точку и привязываешь ее к курсору
(StartDrag(_root.dot,true);)
Затем на кадре пишешь:
with (strelka) {
initx = _x;
inity = _y;
}
_root.onEnterFrame = function() {
with (dot) {
delta_x = _x-initx;
delta_y = _y-Inity;
radians = Math.atan2(delta_y, delta_x);
degrees = Math.floor(radians/(Math.PI/180));
strelka._rotation = 90+degrees;
}
};
Работает на 100%. ;)

Штрек 19.06.2005 18:46

Вложений: 1
я ж всё написал,
чего ж там непонятного....
см.исх........

rusich 20.06.2005 14:59

всем большое спасибо ) разобрался ))) :d


Часовой пояс GMT +4, время: 16:15.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.