Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 控制相位器3中的动画循环_Javascript_Phaser Framework - Fatal编程技术网

Javascript 控制相位器3中的动画循环

Javascript 控制相位器3中的动画循环,javascript,phaser-framework,Javascript,Phaser Framework,我尝试在第3阶段循环动画指定次数。用户提供分配给“loopTimes”变量的输入。我试图用两种不同的方法来控制循环的数量,这两种方法似乎都不起作用 第一种方式是使用while循环的按钮按下功能: totalButton.on('pointerdown', function () { loopTimes = varCountOne + varCountTwo; totalText.setText(loopTimes); var

我尝试在第3阶段循环动画指定次数。用户提供分配给“loopTimes”变量的输入。我试图用两种不同的方法来控制循环的数量,这两种方法似乎都不起作用

第一种方式是使用while循环的按钮按下功能:

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

        });
这也导致循环发生一次,即使循环时间大于1。我怀疑我遗漏了一些相当明显的东西,但因为我对javascript和phaser都是新手,所以对我来说并不明显


谢谢

从我能告诉你的第二种方法是正确的,我在看哪种方法很有效。你用的是什么版本的移相器?移相器3。我也看到了这个例子,并认为它会起作用。有没有理由认为重复不能接受变量?循环时间在totalButton函数中定义,该函数本身会触发数值动画。当我手动将repeat设置为“10”时,它会重复10次,但当它为“loopTimes”时,无论loopTimes变量有多大,它只会重复一次。更新:如果我在脚本顶部定义一个变量并将其设置为10,然后以第二种方式使用该变量,它会循环10次。所以我认为问题在于totalButton函数中设置的loopTimes没有进入动画循环。我强烈怀疑这是一个明显的全局/局部变量问题,但我对基本javascript了解不够,无法解决它。您是否尝试多次更改loopTimes变量?就像用户每次单击按钮都会提示输入新值一样?或者是一次性事件?不止一次。用户设置两个变量(即varCountOne和varCountTwo),然后单击totalButton使动画基于这些变量循环多次。
        this.anims.create({
            key: 'numerate',
            frames: this.anims.generateFrameNumbers('dude', {start: 0, end: 3}),
            frameRate: 10, 
            repeat: loopTimes
        });