|
|
|||||
Регистрация: Dec 2013
Сообщений: 13
|
Привязка к часам(времени)
Как мне привязать движение во времени?
Вот мне нужно, чтобы картинка сдвигалась с определенной скоростью - ну например 1 пиксель в секунду Как мне это правильно сделать? import flash.display.Bitmap; import flash.display.BitmapData; import flash.events.Event; import flash.display.Loader; const IMAGE_URL:String = "img/001.jpg"; var ldr:Loader = new Loader(); ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, ldr_complete); ldr.load(new URLRequest(IMAGE_URL)); var myBitmap:Bitmap = new Bitmap; function ldr_complete(event:Event):void { myBitmap = new Bitmap( (ldr.content as Bitmap).bitmapData ); addChild(myBitmap); addEventListener(Event.ENTER_FRAME, scrollBitmap); } function scrollBitmap(event:Event):void { myBitmap.bitmapData.scroll(-2,0); } |
|
|||||
Регистрация: Mar 2014
Адрес: неадекват
Сообщений: 10
|
мб без битмапа?
|
|
|||||
Цитата:
Для привязки ко времени обычно запоминают время предыдущего кадра, находят разницу (в миллисекундах) с текущим кадром и по простой формуле механики находят новое положение. И потом использовать эту функцию как var previousFrameTime:int; // Где-нибудь инициализируется // новый кадр { var passedTime:int = getTimer() - previousFrameTime; // Делаем с этим временем что нужно ... // Конец кадра previousFrameTime = getTimer(); } Разделить на 1000, умножить на скорость - получим перемещение в пикселях на текущий кадр. Прибавить перемещение нужному объекту, сохранить текущее значение getTimer() в переменную и ждать следующий кадр. И так до посинения. Последний раз редактировалось KumoKairo; 16.03.2014 в 00:05. |
Часовой пояс GMT +4, время: 19:40. |
|
« Предыдущая тема | Следующая тема » |
|
|