Страница 1 из 1
Плавность движения
Добавлено: 02 дек 2012, 00:54
Garch
Мне надо сделать чтобы при наведении мыши в определенную часть сцены фон плавно, но быстро двигался, есть код
Код: Выделить всё
stage.addEventListener(Event.ENTER_FRAME, mover); function mover(event:Event):void{ if(mouseX>=(stage.stageWidth-200)&&mouseX<=stage.stageWidth){ fon.x-=10; } }
Но плавности не видно) Не подскажите как сделать?
Re: Плавность движения
Добавлено: 02 дек 2012, 01:49
sanych_dv
1. Увеличить frameRate ролика.
2. Использовать событие TIMER (у этого класса более гибкие настройки), а не ENTER_FRAME.
Код: Выделить всё
package { import flash.display.Sprite; import flash.events.*; import flash.utils.Timer; public class Main extends Sprite { private var timer:Timer = new Timer(20); private var bg:Bg; public function Main():void { stage ? init() : addEventListener(Event.ADDED_TO_STAGE, init); } private function init(e:Event = null):void { removeEventListener(Event.ADDED_TO_STAGE, init); stage.frameRate = 60; bg = new Bg; addChild(bg); timer.addEventListener(TimerEvent.TIMER, onTimer); timer.start(); } private function onTimer(e:TimerEvent):void { mouseX >= stage.stageWidth - 200 && mouseX <= stage.stageWidth ? bg.x += 10 : null; } } }
Re: Плавность движения
Добавлено: 02 дек 2012, 11:40
Garch
sanych_dv писал(а):1. Увеличить frameRate ролика.
2. Использовать событие TIMER (у этого класса более гибкие настройки), а не ENTER_FRAME.
Код: Выделить всё
package { import flash.display.Sprite; import flash.events.*; import flash.utils.Timer; public class Main extends Sprite { private var timer:Timer = new Timer(20); private var bg:Bg; public function Main():void { stage ? init() : addEventListener(Event.ADDED_TO_STAGE, init); } private function init(e:Event = null):void { removeEventListener(Event.ADDED_TO_STAGE, init); stage.frameRate = 60; bg = new Bg; addChild(bg); timer.addEventListener(TimerEvent.TIMER, onTimer); timer.start(); } private function onTimer(e:TimerEvent):void { mouseX >= stage.stageWidth - 200 && mouseX <= stage.stageWidth ? bg.x += 10 : null; } } }
а есть еще какой нибудь более плавный способ? В полноэкранном режиме этот способ все ранво с подергиваниями((
Re: Плавность движения
Добавлено: 02 дек 2012, 12:38
sanych_dv
Включить аппаратное ускорение )
вы в отладке посмотрите, держит ли ролик установленный вами FPS. И оптимизируйте графику.
Re: Плавность движения
Добавлено: 02 дек 2012, 13:13
Garch
sanych_dv писал(а):Включить аппаратное ускорение )
вы в отладке посмотрите, держит ли ролик установленный вами FPS. И оптимизируйте графику.
эмм... а как его включить?
Re: Плавность движения
Добавлено: 02 дек 2012, 13:27
Alazaur
Garch, лучше начните с проверки второго)