Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Анимация дергается (http://www.flasher.ru/forum/showthread.php?t=137280)

john.brown 09.03.2010 19:43

Анимация дергается
 
Увидеть можно тут - http://makslasperons.lv/index.php
Анимация делаеться програмно. Код примерно такой:
Код AS3:

package com {
        ...
        public class Train extends Sprite {
                private var cars:Array = [];
                private var distance:int = 0;               
                private var speed:Number = 20;
                private var main:Main;
                public var moving:Boolean = false;
                private var srvData:Object;
 
                private static const TOP_POS:int = 13;
                private static const BRAKING_DIST:int = 500;
                private static const BK:Number = 0.962;
                ....
                public function setDistance(distance:int) {                       
                        this.distance = distance;
                }
                public function go(evt:Event):void {                       
                        this.moving = true;
                        if(this.x > this.distance || this.speed < 0.1) {
                                removeEventListener(Event.ENTER_FRAME, this.go);
                                this.moving = false;
                                return;
                        }
                        if(BRAKING_DIST > this.distance - this.x) {
                                this.speed = this.speed * BK;
                        }
                        this.step(this.speed);
                }
                /**
                * Train single step move
                */

                public function step(dist:Number):void {
                        this.x = this.x+dist;
                        dispatchEvent(new TrainEvent(dist));
                }
        }
}

Что уже пробовал делать - заменить вагончики на гифы, использовать Tween, пользовать цельночисленное смещение. Ничего из этого кардинально ситуацию не улучшает, а последний вариант еще и остановку делает резкой.

Вобщем, помогите, плз.

hobbit1 09.03.2010 19:51

Мне кажется, что скакать может из-за большого количества объектов, и уменьши скорость, а то глаза в кучка сразу же становятся.

КорДум 09.03.2010 20:00

Плюс к этому еще могут подмешиваться система прерывания винды. И да, со скоростью нужно что-то делать.

dimarik 10.03.2010 00:22

Не очень понятно, что подразумевается под "дергается". Ну да, текстфиелды стремятся быстрее отреагировать на перемещение, чем тормознутые вагончики. Может это и есть "дерганье"...

john.brown 10.03.2010 01:55

Скорость снизил, fps увеличил. Вроде, немного лучще стало, но все равно не очень. Щас fps=62.

КорДум, а есть какие то идеи, как это проверить, и как обойти? Если, конечно, возможно...

dimarik, дерганье проявляеться как кратковременное застывание движения и искажение вертикальных линий.

AndrewAndart 10.03.2010 03:30

у меня похожая проблемка.
я двигаю растровую картинку - а она перемещается дергано ступеньками.
сначала думал что дело в большом размере картинки, но потом сделав тест с маленькой картинкой - понял что дело не в этом.
шаг 3 пикселя, координаты - целые числа.
Пробовал разные способы описанные в этом форуме и scallY и cacheAsBitmap
ничего не помогло. Где то тут попадалась ссылка на описание похожей проблеммы на официальном адобовском сайте. там предложен ряд решений которые "возможно смогут помочь", но мне не помогло. Запостил новую тему - найду решение поделюсь.

КорДум 10.03.2010 08:42

Обойти? Нет, процессор выполняет команды, которые ему подаются последовательно. И конечно же, он может отвлекаться на сторонние задачи. Просто иногда это не заметно глазу. Вы же встречались с такой ситуацией, когда набираете текст, а он отображается только через несколько секунд?

john.brown 10.03.2010 18:31

Вобщем, я так понимаю, что решения нету? Суп какой... :(

AndrewAndart 10.03.2010 19:51

я в своей теме получил ответ от модератора что эти дергания - "это особенность Flash Player". И что если мой "дерганый" ролик просматривать плеером 10.1 beta 3 то он не дергается. Я пока не проверял.

john.brown 10.03.2010 20:21

Ну, я свой посмотрел в 10.1beta1 - может, чуть лучше стало, но дерганье все равно осталось.


Часовой пояс GMT +4, время: 21:06.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.