所以,我正在制作一个游戏,其中我有一把枪射击子弹的船。
当我开枪的时候,我希望船上的枪能够反弹,所以看起来枪实际上射了子弹。到目前为止一切都很好,枪只相对于身体移动,到目前为止没有任何东西被卡在无限循环中。
我的船是由我编码完美的构造函数构成的,所以要创建补间,而不是在我无法重用的构造函数中创建变量,我创建了补间对象的实际属性。
这就是代码的样子:
this.gunTweenPosition = {y : unit / -1.52 + (gunLength * unit / -4)};
this.gunTweenTarget = {y : av.gunTweenPosition.y + unit / 6};
this.gunTween1 = new TWEEN.Tween(av.gunTweenPosition.y).to(av.gunTweenTarget.y, 1000);
this.gunTween2 = new TWEEN.Tween(av.gunTweenTarget.y).to(av.gunTweenPosition.y, 1000);
this.gunTween1.easing(TWEEN.Easing.Cubic.In);
this.gunTween2.easing(TWEEN.Easing.Cubic.Out);
this.gunTween1.onUpdate(function() {
this.gun.position.y = av.gunTweenPosition.y;
});
this.gunTween2.onUpdate(function() {
this.gun.position.y = av.gunTweenTarget.y;
});
'这'是我们正在构建的对象, 并启动推拉枪的功能,我只需要调用此功能:
car avatar = this;
var number = 0;
function loopTweenUpdating() {
number++;
if (number < 20) {
avatar.gunTween1.update();
avatar.gunTween1.onComplete(function() {
avatar.gunTween2.update();
});
setTimeout(loopTweenUpdating, 20);
}
}
我看不出这里有什么问题。
点击THIS链接查看完整代码。
有什么想法吗?
答案 0 :(得分:0)
您似乎缺少启动补间的功能。
this.gunTween1.start();