изображения в станке мигают при обновлении

Я использую станки для управления своим CANVAS. И я пытаюсь сделать анимацию, меняя изображения, но не используя спрайты. Но всякий раз, когда изображения меняются, возникает временная задержка (например, мерцание)... Как я могу удалить мерцание, не используя спрайт-лист?


person user3568765    schedule 24.04.2014    source источник
comment
Добро пожаловать в СО! Пожалуйста, предоставьте код в вопросе и, если возможно, скрипку, чтобы можно было воспроизвести проблему.   -  person    schedule 24.04.2014
comment
Ваши изображения загружаются заранее? Может быть некоторая задержка в запросе их ad-hoc.   -  person Lanny    schedule 24.04.2014


Ответы (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)
}
person Absulit    schedule 21.02.2015