我正在嘗試開發一種基於射手旋轉角度實例化「射擊」的簡單拍攝機制。我的問題在於即使射手面向0 *,射擊角度爲45 *(這是我猜測問題的原因,因爲當射手以45 *爲導向時,射門以精確射擊90 *)。以精確角度拍攝彈丸
射擊角(0,0,0)
射擊角(0,0,45)
注意 - 球總是從黑色扁平圓柱體的中心發射。
所需的代碼:
public class ShotMoveScript : MonoBehaviour {
public static float xForce;
public Transform shott;
void Update() {
if(Input.GetKey(KeyCode.Q))
{
transform.Rotate(Vector3.forward, 5f);
}
if(Input.GetKey(KeyCode.E))
{
transform.Rotate(Vector3.forward, -5f);
}
if(Input.GetKey(KeyCode.Space))
{
xForce += 0.2f;
}
if(Input.GetKeyUp(KeyCode.Space))
{
Instantiate(shott, transform.position, transform.rotation);
}
}
}
腳本連接到球,其被實例化:
public class MovementScript : MonoBehaviour {
void Update() {
Rigidbody2D rb;
rb = GetComponent<Rigidbody2D>();
rb.gravityScale = 0.8f;
transform.Translate(new Vector3(1,1,0) * ShotMoveScript.xForce * Time.deltaTime, Space.Self);
}
}
嗨,你可以發佈你的代碼樣本嗎? –
對不起,我忘了,只是一秒 –
@RussClarke加入了 –