【发布时间】:2018-11-25 23:43:49
【问题描述】:
我正在尝试创建一个钟摆来回摆动的简单动画效果。我只使用了一个图像精灵,我有下面的代码,但动画只倾斜到 45 角然后完全停止。我可能做错了什么?
var title = new Phaser.Scene("GameTitle");
var pendulum;
var direction;
title.create = function(){
pendulum = this.add.sprite(200, 0, 'titlePendulum').setOrigin(0.5, 0).setScale(1.8).setRotation(79);
direction = "left";
};
title.update = function(){
console.log(pendulum.angle.toFixed(0));
swing(direction);
if(pendulum.angle.toFixed(0) == 71){
swing ("right");
}
if(pendulum.angle.toFixed(0) == -76){
swing("left");
}
};
function swing(dir){
if(dir == "left"){
if(pendulum.angle.toFixed(0) == 71){
swing("right");
}else{
pendulum.angle +=1.5;
}
}else{
if(pendulum.angle.toFixed(0) > -80){
pendulum.angle -= 1.5;
}
if(pendulum.angle.toFixed(0) == -76){
swing("left");
}
}
}
【问题讨论】:
-
不确定是什么问题,但为什么要为每个 update() 帧更新
swingInc++?您正在检查 swingInc -
我最初试图运行动画 4 次,但没有意识到它是按帧递增的。从那以后,我尝试了几件事,并在帖子中提出了当前代码,但是,同样的问题。它倾斜到指定的角度,然后停止。
-
我已经编辑了我的答案,你可能想看看
dir和direction的东西。
标签: javascript animation phaser-framework