Я пытаюсь создать лунную посадку в Unity2D, но у меня возникают проблемы с добавлением тяги в определенном направлении, в основном в направлении, в котором находится ракета.В настоящее время он всегда будет вертикальным, даже если корабль находится под углом 90 градусов.
public float thrust;
private Rigidbody2D rocket;
public int rotationSpeed;
// Use this for initialization
void Start()
{
rocket = gameObject.GetComponent<Rigidbody2D>();
}
void Update()
{
if (Input.GetButton("Horizontal"))
{
if (rocket.transform.rotation.z < 90 && rocket.transform.rotation.z > -90)
{
Debug.Log(rocket.transform.rotation.z);
float angle = Input.GetAxis("Horizontal");
if (angle > 0)
{
rocket.transform.Rotate(Vector3.forward * rotationSpeed * Time.deltaTime);
}
else
{
rocket.transform.Rotate(Vector3.back * rotationSpeed * Time.deltaTime);
}
}
}
}
void FixedUpdate()
{
if (Input.GetButton("Vertical"))
{
Debug.Log(rocket.transform.rotation.z);
float angle = Input.GetAxis("Vertical");
if (angle > 0)
{
rocket.AddRelativeForce(Vector3.forward * 10);
}
}
}