![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Sep 2005
Сообщений: 85
|
Кто сталкивался с глюками картинки при программной анимации в браузере Google Chrome?
Вот простой пример, обьект движется вперёд: http://ronexi.com/test_mov_1.html ( on enter frame, x+=2) В браузерах с плагином от Adobe движение ровное, а в хроме ( где стоит их PepperFlash по умолчанию) обьект движется с каким-то мерцанием и подлагиванием. Посоветуйте как это можно вылечить? Пробовал менять wmode на все возможные, перегонять картинку в bitmap data, менять частоту кадров, не помогает.
__________________
www.MegaLuckyPlay.com |
|
|||||
|
Banned
[+4 24.02.14]
[+4 07.11.13] [+ 13.03.14] Регистрация: Mar 2013
Сообщений: 1,864
|
А у меня и не в хроме лагает...
|
|
|||||
|
и у меня дергается
такое подозрение, что оптимизация здесь бессильна, посмотрел периодичность вызовов enterFrame private function this_enterFrame(e:Event):void { obj.x += 2; var t1:Number = getTimer(); log += (t1-t0) + ", "; t0 = t1; if (obj.x > 100) { Console.log(log); this.removeEventListener(Event.ENTER_FRAME, this_enterFrame); } } //44, 12, 2, 27, 12, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 18, 16, 17, 17, 17, 17, 17, 17, 17, 25, 17, 0, 1, 8, 24, 9, 18, 23, 9, 18, 23, 9, 17, 24, 9, 17, 24, 9, 17, 24, 9, Добавлено через 11 минут хотя вот такой вариант может и сработать package { import flash.display.Sprite; import flash.events.Event; import flash.utils.getTimer; [SWF (frameRate="120")] public class Main extends Sprite { private var obj:Sprite = new Sprite(); private var t0:Number; private var speed:Number = 0.1; public function Main():void { obj.graphics.beginFill(0x804000); obj.graphics.drawRect(0, 0, 60, 120); addChild(obj); this.addEventListener(Event.ENTER_FRAME, this_enterFrame); t0 = getTimer(); } private function this_enterFrame(e:Event):void { var t:Number = getTimer() - t0; //obj.x = int(t * speed); obj.x = Math.round(20 * t * speed) / 20; if (obj.x > 1000) { t0 = getTimer(); } } } } Последний раз редактировалось silin; 27.02.2014 в 23:12. |
![]() |
![]() |
Часовой пояс GMT +4, время: 13:50. |
|
|
« Предыдущая тема | Следующая тема » |
|
|