Hello flash程序员, 我试图通过一种方法让我的敌人向左移动一定数量的像素,然后当它有时,我希望它以相反的方式移动。 所以如果enemy.x + =移动了20个像素。让它以相反的方式移动,然后向左移动。
所以你知道在平台游戏中,你有敌人向右移动然后向左移动。这就是我想要实现的目标。
但我的代码由于某种原因不起作用,因为计时器没有重置为0.
我可以请一些代码帮助。
private function goblinLoop(e:Event):void
{
trace(nTimer);
if (move)
{
nTimer = nTimer + 0.05;
if (nTimer < 5)
{
this.x += speed;
}
else
{
this.x -= speed;
if (nTimer > 5)
{
nTimer = 0;
}
}
}
}
答案 0 :(得分:0)
问题出在代码中,我正在测试if语句和flash混淆所以我不得不改变一件事,这就是
private function goblinLoop(e:Event):void
{
trace(nTimer);
if (move)
{
nTimer = nTimer + 0.05;
if (nTimer < 5)
{
this.x += speed;
}
else
{
this.x -= speed;
if (nTimer > //this can't be 5, it's not logical, so it has to be 10)
{
nTimer = 0;
}
}
}
}
我希望这有助于其他人,你可以用它来左右移动你的角色
如果你认为,有一种有效的左右移动方式,请告诉我。谢谢。