AS3 Остановить мерцание движущегося объекта - PullRequest
2 голосов
/ 07 апреля 2011

У меня есть шар, движущийся по экрану, позиция обновлена ​​на ENTER_FRAME. Моя проблема в том, что происходит значительное мерцание. Я думал об использовании чего-то вроде TweenLite для перемещения мяча, но поскольку позиция обновляется кадр за кадром, я не думаю, что это сработает. Я увеличил частоту кадров и уменьшил скорость движения мяча (и наоборот), но это не помогло.

Что я могу сделать, чтобы уменьшить (предпочтительно остановить) мерцание?

[править] Вот функция обновления. Ball - это мувиклип.

public function update(e:Event):void {
    this.x += moveX;
    this.y += moveY;
}

Ответы [ 2 ]

0 голосов
/ 14 апреля 2011

«Мерцание» было вызвано моей высокой частотой кадров и перемещением «шара» сразу на несколько пикселей. В результате части мяча визуализируются в другом месте, чем другие части мяча в кадре. Чтобы это исправить, я теперь перемещаю шар только на один пиксель за раз и регулирую частоту кадров, чтобы контролировать скорость мяча.

0 голосов
/ 08 апреля 2011

Если вы код что-то вроде этого:

приватная функция onEnterFrame (e: Event) { derp.x + = 10; }

не должно быть мерцания, если сумасшедший - видеоклип. Если вы используете bitmapData на растровых изображениях (в зависимости от вашей логики), может возникнуть фикерство

но если вы используете мувиклип, как указано выше, мерцание не должно возникать; это, вероятно, ваш компьютер.

Загрузите файл .swf, чтобы мы могли лучше понять, что происходит.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...