EaselJS: анимация не соответствует флагу остановки

Я создал различные спрайты из SpriteSheet для представления различных анимаций состояния, таких как вступление, сброс и т. д., без проблем.

// other code...
"animations": {"intro": [0, 19, "false"], "reset": [19, 25, "false"]}

// other code...
var intro = new createjs.Sprite(spriteSheet, "intro");

// add to stage, etc...

Основываясь на этой конфигурации, если я добавлю анимацию вступления на сцену, она запускается и останавливается, как и ожидалось, на кадре с индексом 19. Однако я хотел вызвать:

intro.gotoAndStop(0);

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

intro.play();

... вступительная анимация воспроизводится, но теперь повторяется снова и снова, хотя она была определена с флагом «false» для остановки на последнем кадре (см. Объект анимации выше). Что за?

Здесь есть идеи? Я бы хотел, чтобы вступительная анимация действительно остановилась там, где я ее попросил. Должен ли я вручную управлять этим с помощью прослушивателей событий? Что мне не хватает?

Было бы здорово, если бы API Sprite имел playUntil(9); или playFromTo(0, 4);, чтобы сократить все стандартные шаблоны.


person asking    schedule 21.07.2014    source источник


Ответы (1)


Вы должны использовать false (логическое значение) вместо "false" (строка)

person renatopp    schedule 22.07.2014
comment
анимации : {fire : [0, 17, false],stop : [17]} ..... это тоже не останавливает цикл!? - person Soliman; 06.08.2014
comment
Просто продолжает зацикливаться на мне в любом случае. - person Curtis; 28.08.2018