1

我正在开发一个简单的“停车类型”游戏,用户在汽车中四处行驶,并且必须将其停放在指定的位置。

虽然它实际上正在工作,但唯一的问题是我需要找出汽车停在哪个方向。我不希望用户随意停放汽车,但汽车应该朝上或朝下。

我尝试使用此检查来查看汽车的旋转情况,但这似乎有点太复杂了

var relativeRot = this.rotation % 360;
if((this._speed <= 0.02 && this._speed >= -0.02) && ((relativeRot <= 5 && relativeRot >= 355) || (relativeRot >= 175 && relativeRot <= 185) || (relativeRot <= -175 && relativeRot >= -185) || (relativeRot <= -5 && relativeRot >= -355))) {

有没有更简单的方法来检查这个?应该有 5 度的小余量,因为它不一定是完美的。

4

1 回答 1

1

您可以通过取模 90 度来简化它:

var relativeRot = this.rotation % 360;
if (Math.abs(this._speed) <= 0.02) {
    var cornerRot = (relativeRot + 360) % 90; // should be positive
    if (Math.abs(cornerRot - 45) >= 40) {
        // consider car parked...
    }
}
于 2013-01-17T09:24:27.027 回答