Управление зацикливанием анимации в Phaser 3 - PullRequest
0 голосов
/ 22 января 2019

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

Первый способ заключается в использовании функции нажатия кнопки с использованием цикла while:

totalButton.on('pointerdown', function () {
            loopTimes = varCountOne + varCountTwo;
            totalText.setText(loopTimes);
            var i = 0;
            while (i < loopTimes) {
                horse.anims.play('numerate');
                i++;
            }

        });

Это приводит к тому, что анимация зацикливается один раз, даже когда loopTimes равен 10 (у меня было выведено значение i на консоль, чтобы убедиться, что он рассчитывает правильно).

Второй способ - использовать переменную loopTimes в анимации:

        this.anims.create({
            key: 'numerate',
            frames: this.anims.generateFrameNumbers('dude', {start: 0, end: 3}),
            frameRate: 10, 
            repeat: loopTimes
        });

Это также привело к тому, что цикл происходил один раз, даже когда loopTimes был больше единицы Я подозреваю, что мне не хватает чего-то довольно очевидного, но, поскольку я новичок в javascript и phaser, это не очевидно для меня.

спасибо!

...