KineticJS afterFrame没有't循环运行

KineticJS afterFrame doesn't run on loop

本文关键字:循环 运行 afterFrame 没有 KineticJS      更新时间:2023-09-26

我试图为我的角色重新加载动画更改值。我希望每次动画循环时player.shots都增加1。然而,它运行一次,动画继续。这是我的代码。

    gun.setAnimation('reload');
gun.afterFrame(6,function(){
        console.log('reload');
        player.shots++;
        if(player.shots > 5){
          gun.setAnimation('idle');
        }
    }

有趣的是,如果函数中出现错误,它会像预期的那样工作。

    gun.setAnimation('reload');
gun.afterFrame(6,function(){
        console.log('reload');
        player.shots++;
        if(player.shots > 5){
          gun.setAnimation('idle');
        }
        throw "reloading"
    }

这让我相信afterFrame根据返回值来决定它是否应该在下一次迭代中运行。

我需要添加什么好的变通方法或参数吗?或者我应该一直故意造成错误以获得所需的行为吗?

目前没有办法做到这一点,但我在github上提交了一个pull请求,该请求将使返回true成为循环。

编辑:的新方法

sprite.on('indexChange', function(evt) {
});