- Home /
Why doesnt my script work
So im making an action game, well, it does have planes and i made a plane controller, it comes successfully but then i found a problem,
My plane wont go forward
Here's my script
using System.Collections; using System.Collections.Generic; using UnityEngine;
public class Move : MonoBehaviour { public float power; public GameObject plane;
private Rigidbody rb;
void Start()
{
rb = GetComponent<Rigidbody>();
}
void FixedUpdate()
{
bool isA = Input.GetKey(KeyCode.A);
bool isD = Input.GetKey(KeyCode.D);
bool isRight = Input.GetKey(KeyCode.RightArrow);
bool isLeft = Input.GetKey(KeyCode.LeftArrow);
bool isForward = Input.GetKey(KeyCode.T);
bool isUpArrow = Input.GetKey(KeyCode.UpArrow);
bool isDownArrow = Input.GetKey(KeyCode.DownArrow);
Vector3 rotZ = new Vector3(0.0f, 0.0f - 0.1f);
Vector3 rotY = new Vector3(0.0f, 0.2f - 0.0f);
Vector3 rotX = new Vector3(0.1f, 0.0f - 0.0f);
if (isRight == true)
{
plane.transform.Rotate(rotZ);
}
else if (isLeft == true)
{
plane.transform.Rotate(-rotZ);
}
if (isDownArrow == true && plane.transform.rotation.x <= 90)
{
plane.transform.Rotate(rotX);
plane.transform.Rotate(rotX);
}
else if (isLeft == true && plane.transform.rotation.x >= -90)
{
plane.transform.Rotate(-rotZ);
else if (isForward == true)
{
rb.AddRelativeForce(Vector3.right * power * -100);
}
else if (isDownArrow == true)
{
rb.AddRelativeForce(Vector3.right * power * -100);
plane.transform.Rotate(-rotX);
}
else if (isUpArrow == true)
{
rb.AddRelativeForce(Vector3.right * power * -100);
plane.transform.Rotate(rotX);
}
}
}
I was trying to change things to find what went wrong and my script took a turn for the worst...
What have i missed to make my plane go forward
Comment
Your answer
Follow this Question
Related Questions
Plane Control Script rotating unexpectedly 1 Answer
AI Airplane Problem 0 Answers
Airplane crash detection help 0 Answers
Airplane Script Control 1 Answer