来自极坐标的Phaser点

时间:2014-05-07 20:43:01

标签: phaser-framework

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

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

1 个答案:

答案 0 :(得分:0)

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

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

r是幅度,t是弧度角。如果degrees为真,t实际上是度数。