我正在尝试开发一种基于射手旋转角度实例化“射击”的简单拍摄机制。我的问题在于即使射手面向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加入了 –