У меня есть работающая анимация с использованием BitmapAnimation, но с более новой версией 0.7.0 этот класс был заменен классом Sprite и теперь развращен, я обновляю свой код до нового класса, но, похоже, проблемы с моими анимациями,
В старой версии анимация воспроизводит любую анимацию, которую я прошу просто, используя, например:
playerAnimation[i].gotoAndPlay("idle");
Но теперь им кажется, что они заикаются. Как будто повторяющиеся рамки смехотворно быстро или прыгают назад в кадр на каждом тике.
Я думаю, что это может иметь какое-то отношение к обновленному тикеру в этой версии. Единственными изменениями в моем коде являются следующие:
Before (BitmapAnimation и старый Tick):
...
playerAnimation[i] = new createjs.BitmapAnimation(spriteSheet[i]);
...
createjs.Ticker.addListener(tick);
createjs.Ticker.useRAF = true;
createjs.Ticker.setFPS(60);
...
function tick() {
...
}
После изменений (BitmapAnimation заменена на Sprite и функция Tick изменена на новую версию):
...
function handleEvent(event) {
if (event.type == "tick") {
this.tick(event);
}
}
...
playerAnimation[i] = new createjs.Sprite(spriteSheet[i]);
...
createjs.Ticker.addEventListener('tick', tick);
createjs.Ticker.useRAF = true;
createjs.Ticker.setFPS(60);
...
function tick(event){
...
}
Это буквально единственные изменения, которые были внесены в код. Я даже скопировал и вставил весь другой код, за исключением необходимых изменений, в новый файл, если бы я сделал какие-либо непреднамеренные изменения.
Я знаю, что класс Sprite добавил некоторые новые методы, поэтому я подумал, не поиграли ли они старым способом.
Есть идеи? Вам нужен еще один код?
Заранее спасибо!
Выяснил проблему!
С новым обновлением EaselJs они заменили атрибут "частота" SpiteSheet на атрибут "скорость". Поэтому, прежде чем я использовал "4" как свою "частоту"; который запускал анимацию в 4 раза медленнее, теперь под "скоростью", она запускает анимацию в 4 раза быстрее!
В любом случае спасибо парням :)