|
|
|||||
Регистрация: Apr 2009
Сообщений: 87
|
Эффект вращения, как лучше сделать?
Вот что получается http://undersky.ru/accord/flashka.html
Делаю эффект вращения картинки по наводу мышки, вот код, почему то 1-2 раза все прокручивается а потом наметво встает, я делал вот так код, сперва 2 слушателя на навод мышки а внутри функции слушателя еще слушатель enterFrame у которого своя функция stop(); goForward.addEventListener(MouseEvent.MOUSE_OVER, goingForward); function goingForward(event:MouseEvent):void { event.target.addEventListener(Event.ENTER_FRAME, everyFrameAhead); function everyFrameAhead(event:Event):void { nextFrame(); } } goBack.addEventListener(MouseEvent.MOUSE_OVER, goingBack); function goingBack(event:MouseEvent):void { event.target.addEventListener(Event.ENTER_FRAME, everyFrameBack); function everyFrameBack(event:Event):void { prevFrame(); } } |
|
|||||
1) Слушатель нужно добавлять не кнопке, а спрайту с картинкой (то есть мувик нужно положить в спрайт) или самому мувику
2) Удаляйте слушатель EnterFrame после отведения мыши от кнопки
__________________
...вселенская грусть |
|
|||||
Регистрация: Apr 2009
Сообщений: 87
|
Цитата:
Добавлено через 7 минут Вот так? :-) stop(); goForward.addEventListener(MouseEvent.MOUSE_OVER, goingForward); goForward.addEventListener(MouseEvent.MOUSE_OUT, deleteLis1); function goingForward(event:MouseEvent):void { event.target.addEventListener(Event.ENTER_FRAME, everyFrameAhead); function everyFrameAhead(event:Event):void { nextFrame(); } } function deleteLis1(event:MouseEvent):void { removeEventListener(Event.ENTER_FRAME) } goBack.addEventListener(MouseEvent.MOUSE_OVER, goingBack); goBack.addEventListener(MouseEvent.MOUSE_OUT, deleteLis2); function goingBack(event:MouseEvent):void { event.target.addEventListener(Event.ENTER_FRAME, everyFrameBack); function everyFrameBack(event:Event):void { prevFrame(); } } function deleteLis2(event:MouseEvent):void { removeEventListener(Event.ENTER_FRAME) } |
|
|||||
Цитата:
Судя по всему, Вы пишите код в кадрах. Согласно концепции данного форума - это мировое зло! =) Так что завязывайте с этим, пишите основной класс проекта, через него будет проще ориентироваться во всех этих листенерах и т.д. Допустим, у вас на сцене есть мувик (вот эта самая прокрутка, где каждый кадр - картинка). Чтобы обратиться к нему из основного класса, используйте такой код: package { import flash.display.MovieClip; import flash.display.Sprite; /** * ... * @author gloomyBrain */ public class Main extends Sprite { public var myScroll:MovieClip; public function Main():void { myScroll = this.getChildByName("вот тут имя прокрутки на сцене") as MovieClip; // то же самое и с кнопками //... // при нажатии на кнопку выполняем вот такой код this.myScroll.addEventListener(Event.ENTER_FRAME, ...); } } } а) передавать кнопке ссылку на myScroll (плохо) б) кнопкой диспатчить событие, ловить его в контейнере (который содержит в себе и кнопку, и прокрутку) и уже из контейнера добавлять или удалять необходимые листенеры к myScroll
__________________
...вселенская грусть |
Часовой пояс GMT +4, время: 17:57. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|