【发布时间】:2015-08-20 10:36:49
【问题描述】:
我为我的游戏的主菜单创建了一些按钮,我想添加一个漂亮的动画,让这些按钮在一个短暂的延迟后移出屏幕。
所以我做了一堆按钮,给每个按钮自己的补间,然后像这样组合补间过程:
tempTweens[0].onStart.add(function () {
console.log('onStart fired');
game.time.events.add(tweenDelay, function () {
tempTweens[1].start();
}, this);
game.time.events.add(tweenDelay * 2, function () {
tempTweens[2].start();
}, this);
game.time.events.add(tweenDelay * 3, function () {
tempTweens[3].start();
}, this);
}, this);
但是当我做 tempTweens[0].start();它做我想要的...... 1次。我第二次做 tempTweens[0].start();它只移动第一个按钮,而不移动其他按钮。
我什至在这段代码之后做了一个小循环来检查。
for (var i = 0; i < 10; i++) {
tempTweens[0].start();
}
它只向控制台写入 'onStart failed' 1 次。
知道每次开始第一个补间时如何使 .onStart 工作吗?
我想我还没有完全理解 .onStart 是如何工作的,但我猜这样的事情只有在我使用 .addOnce 而不是 .add 时才会发生。
【问题讨论】: