Tag: angle

确定是从两个角度顺时针或逆时针转动

我在XNA制作游戏。 我有敌人和球员。 敌人应该逐渐转向玩家。 他们应该确定是否需要顺时针或逆时针转动,以较短者为准。 我通过使用Atan2得到了敌人当前面对的角度和它应该面对的角度(敌人和玩家之间的线的角度)作为弧度。 我虽然得到了一些奇怪的行为。 让我们在下面的场景中说。 敌人可能会朝错误的方向转过来。 我的代码(下面)不断变长,我仍然遇到问题。 此代码是敌人类Update方法的一部分。 这必须是游戏中要克服的常见问题。 有没有办法解决这个问题? //this bit is just in case enemy has rotated more than 360 degrees (gets set back to 0) if (Math.Abs(_blocklist[0]._floor.Revolutions) >= 2) { _blocklist[0]._floor.Rotation = 0.0f; } //enemy rotation in radians float blockroat = _blocklist[0]._floor.Rotation; // vector to player – vector to enemy […]