0
在我的2D平臺遊戲中,有一名擁有槍支的飛行敵人。根據敵人面對的方式,槍在Z軸上的座標爲0°或180°。無論哪種方式,槍都可以自由移動30°。當敵人朝右時,它可以很好地工作,但當敵人朝左時,它會在180°時重置爲150°。任何人都可以幫忙嗎?這裏是我的代碼:指向玩家的槍不起作用
using UnityEngine;
using System.Collections;
public class EnemyGun : MonoBehaviour
{
public Transform player;
private bool isRight;
private void Update()
{
if (player.position.x - transform.position.x < 0)
{
isRight = false;
}
else
{
isRight = true;
}
Vector3 dir = player.position - transform.position;
float angle = Mathf.Atan2(dir.y, dir.x) * Mathf.Rad2Deg;
if (angle > 30 && isRight == true)
{
angle = 30;
}
if (angle < -30 && isRight == true)
{
angle = -30;
}
if (angle > 210 && isRight == false)
{
angle = 210;
}
if (angle < 150 && isRight == false)
{
angle = 150;
}
transform.rotation = Quaternion.AngleAxis(angle, Vector3.forward);
}
}
請不要在問題的標題使用任何標籤 –