![]() |
|
||||||||||
|
|||||
|
Регистрация: Dec 2012
Сообщений: 13
|
В принципе задачу я решил, только своим, "недалеким" способом. сам новичек и хотелось бы узнать как можно ее решить теми способами, которые я ниасилил. значит имеется круг, простое кольцо из пунктирного контура без заливки, которое нужно заставить циклически вращаться. сначала я пытался зациклить его с помощью создания классической анимации и последующим вставлением условного оператора if в общий блок кода (на таймлайне во флэше) примерно так.
может я неправильно указал в скобках путь к клипу, а может вообще не нужно обращаться к нему, но я пробовал по разному и с добавлением this и еще много чего. кстати сам объект находится в другом клипе и я пишу код на таймлайне внутри него. второй способ с использованием одного кадра, слушателя событий ENTER_FRAME и свойства rotation у клипа. тоже так и не смог нормально прирастить одно к другому ( а потом просто вставил gotoAndPlay(1) в конце самой анимации, но ведь разбрасываться кусочками кода по всему проэкту это же не вариант. подскажите как сделать все это нормально! )) |
|
|||||
|
Регистрация: Dec 2012
Сообщений: 13
|
прикол в том что анимация там дальше продолжается...
а это я и так знаю |
|
|||||
|
Тогда можно воспользоваться давним проверенным способом - анимацию поворота впихнуть в один мувиклип, а в другой, "родительский" засунуть его в один кадр. Тогда застопорив анимацию в "родительском" мувиклипе на том кадре, где мувиклип вращается, получим бесконечную анимацию без всяких gotoAndPlay() и вообще, по сути, без кода
![]() То есть растащить возможные состояния кружка на разные мувиклипы - один с вращением, другой стационарный, третий, допустим, с изменением размера, и эти мувиклипы засунуть в другой, контейнерный мувик. |
|
|||||
|
Регистрация: Aug 2012
Сообщений: 70
|
А в чем трудность программного поворота?
var speed: uint = 1; var rect: Sprite = new Sprite(); rect.graphics.beginFill(0xFF0000); rect.graphics.drawRect(0, 0, 50, 50); rect.graphics.endFill(); rect.x = 100; rect.y = 100; addChild(rect); rect.addEventListener(Event.ENTER_FRAME, handleEnterFrame); private function handleEnterFrame(event:Event):void { rect.rotation += speed; } Последний раз редактировалось NoisyFlasher; 17.02.2013 в 23:31. Причина: Подправил названия для понятности |
|
|||||
|
Регистрация: Dec 2012
Сообщений: 13
|
NoisyFlasher, с кодом разобрался. хватило всего пары строчек:
rect.addEventListener(Event.ENTER_FRAME, handleEnterFrame); function handleEnterFrame(event:Event):void { rect.rotation += 5; } KumoKairo, мне кажется такой способ довольно хлопотный, но я попробую. спасибо вам за ответы! ) |
|
|||||
|
Регистрация: Aug 2012
Сообщений: 70
|
ну, пара, это понятно - я просто больше написал, что бы можно было "из коробки" пример скопировать и посмотреть)
А про addChild и набор скорости не понял - это как так?.. |
|
|||||
|
Регистрация: Dec 2012
Сообщений: 13
|
Цитата:
addChild(rect); rect.addEventListener(Event.ENTER_FRAME, handleEnterFrame); function handleEnterFrame(event:Event):void { rect.rotation += 5; } вам конечно виднее, но я не вижу логики почему так происходит. |
|
|||||
|
Регистрация: Aug 2012
Сообщений: 70
|
А если rect.rotation трейсить каждый раз - там как все изменяется?..
Можно .fla поглядеть - а то мне интересно аж стало) |
![]() |
![]() |
Часовой пояс GMT +4, время: 21:58. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|