根据方向更新精灵坐标

时间:2013-03-09 21:11:06

标签: javascript sprite

我有一个代表子弹的精灵,它的基本实现如下:

function Bullet(x, y, rotation) {
    this.x = x;
    this.y = y;
    this.direction = rotation;
    this.speed = 5;
}

Bullet.prototype.update = function() {
    // Move the bullet forward
    this.x = Math.sin(this.rotation) * this.speed;
    this.x = Math.cos(this.rotation) * this.speed;
}

我在这里要做的是将子弹朝着它面向的方向和相对于它的速度向前移动。但是,在调用update()方法this.xthis.xNaN时。

如果精灵在给出xyrotation信息的情况下,使精灵朝着正方向移动的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

你有一个错字。这样:

this.x = Math.sin(this.rotation) * this.speed;

应该是

this.x = Math.sin(this.direction) * this.speed;