2

我想更新精灵的 P2 体力,使其在给定方向上等于一个常数值。使用极坐标,这很容易:我只需将大小和方向设置为我想要的。但是,对于移相器点,直接设置点坐标的唯一功能(Phaser.Point#set)似乎只支持笛卡尔坐标。

有没有一种简单的方法可以将 Phaser 点设置为一组极坐标,而无需自己将极坐标转换为笛卡尔坐标?

4

1 回答 1

0

鉴于此任务不幸缺少构造函数,请结合使用setMagnitude()rotate()。作为一个方面,我建议编写一个实用方法来为您执行此操作,这样每次您想用极坐标实例化一个点时,您只需要一个(单个)简单调用。

function pointFromPolar(r, t, degrees) {
    return new Phaser.Point(1,0).setMagnitude(r).rotate(0,0,t,degrees);
}

r是幅度,t是以弧度为单位的角度。如果degrees为真,t则实际上是度数。

于 2015-12-05T06:00:03.093 回答