【发布时间】:2015-10-06 20:19:59
【问题描述】:
我正在尝试开发一种简单的射击机制,该机制根据射击者的旋转角度实例化“射击”。我的问题是即使射手的方向是 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);
}
}
【问题讨论】:
-
您好,您可以发布您的代码示例吗?
-
对不起,我忘了,等一下
-
对这个问题投了反对票的人,你能告诉我你为什么这么做吗?谢谢:)