Я использую станки для управления своим CANVAS. И я пытаюсь сделать анимацию, меняя изображения, но не используя спрайты. Но всякий раз, когда изображения меняются, возникает временная задержка (например, мерцание)... Как я могу удалить мерцание, не используя спрайт-лист?
изображения в станке мигают при обновлении
Ответы (1)
Я предполагаю (пока вы не предоставите код), что изображение загружается во время этого промежутка, поэтому вы видите мигание, и это потому, что вы загружаете изображение в тот же контейнер (имеется в виду место, где изображение загружается/ отображается).
Решение этой проблемы состоит в том, чтобы использовать 2 контейнера, один над другим; у вас загружено первое изображение, и когда вы загружаете следующее изображение, вы устанавливаете событие complete для этого второго изображения, а когда загружается второе изображение, вы удаляете первое.
В конце концов вам придется создать класс для управления обоими изображениями и их событиями, потому что, если вы пытаетесь, например, создать ротатор изображений, вам придется поменять местами загруженное нижнее изображение на верхнее, чтобы сделать плавный переход и /или добавить альфа-анимацию.
Это очень простая схема:
Container
topImage
bottomImage
this.addChild(topImage)
this.addChild(bottomImage)
bottomImage.on("complete", function(){
//add effect to top image (fade out)
//load image into top image
//fadein effect
})
topImage.on("complete", function(){
//first time you have to add an fade in
//but you can remove the event after that
})
this.load = function(path){
bottomImage.load(path)
}