![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Jul 2009
Сообщений: 4
|
Привет всем. Я новичек во Flash, и у меня появился такой вопрос: как сделать, чтобы объект двигался за нажатой мышкой? Для программной анимации использую Tween, но он срабатывает только тогда, когда мышь стоит неподвижно. Искал что-то похожее на форуме, но ничего не нашел.
|
|
|||||
|
|
|
|||||
|
Регистрация: Jul 2009
Сообщений: 4
|
ldimat, это понятно, но мне нужно не таскать объект, а чтобы он следовал за мышью - т.е. пользователь нажал кнопку НЕ на объкте, и объект движеться туда. Если кнопку мыши не отпустили, то он движеться за мышью до того места, где кнопку отпустят. И возможно ли это сделать без startDrag() и stopDrag()?
|
|
|||||
|
можно,
http://blog.greensock.com/tweenliteas3/ - там есть рисованный кнопарь download AS3, тебе туда, только денег им не давай - они собирают на разработки физиками ядерного оружия там есть хороший класс TweenLite - он анимирует всякие трансформации, и поможет тебе двигать свой объект не задумываясь об этом. от туда тебе понадобятся: статическая фция to(кого двигаем:Object, сколько времени это должно происходить:Number, параметы:Array):объект двигателя, с ее помощью будешь создавать аницаии метод "двигателя" clear():void - он позволит тебе стирать ненужные анимации теперь представляешь что у тебя есть событие ИзмениласьТочкаНазначения(куда_по_Х:Number, куда_по_Y:Number):void - его обрабатывает сам объект. если он не движется он создает движение: m_CurrentTween = TweenLite.to(this, 1, {x:куда_по_Х, y:куда_по_Y, onComplete:KillMe}) KillMe - просто страет m_CurrentTween. хранить его нужно для того, чтоб если элемент движется, можно было сказать ему "хорош двигаться туда, идем в другую сторону", тоесть переписать: if(m_CurrentTween) m_CurrentTween.clear(); m_CurrentTween = TweenLite.to(this, 1, {x:куда_по_Х, y:куда_по_Y, onComplete:KillMe}) теперь если ты отловил MOUSE_DOWN или MOUSE_MOVE просто вызываешь метод ИзмениласьТочкаНазначения(event.stageX, event.stageY); будет ходить как миленький ![]() |
|
|||||
|
Регистрация: Jul 2009
Сообщений: 4
|
ldimat, спасибо!
|
![]() |
![]() |
Часовой пояс GMT +4, время: 17:10. |
|
|
« Предыдущая тема | Следующая тема » |
|
|