Search Unity

Script Problem

Discussion in 'Scripting' started by xDannyDx, Dec 6, 2012.

  1. xDannyDx

    xDannyDx

    Joined:
    Dec 3, 2012
    Posts:
    1
    I'm making a basic flight script for an assignment, but I'm having a huge problem. I can get the object its applied on moving, but if it stops it won't start again. it just stops and doesn't do anything.

    Here's the script

    var YawSpeed = 15.0;
    var TurnSpeed = 15.0;
    var ElevateSpeed = 5.0;
    var Acceleration = 0.2;
    var Deceleration = 0.3;
    var MaxSpeed = 20.0;
    private var Speed = 0.0;


    function Update ()

    {
    if(Speed > MaxSpeed)
    {
    Speed = MaxSpeed;
    }
    if (Speed < 0.0)
    {
    Speed = 0;
    }

    if(Speed <= (MaxSpeed/3))
    {
    rigidbody.useGravity = true;
    }

    else
    {
    rigidbody.useGravity = false;
    }


    transform.Translate(Vector3.forward *Speed* Time.deltaTime);

    if(Input.GetAxis("Accelerate"))
    {
    Speed = Speed + Acceleration;
    }

    if (Input.GetAxis("Decelerate"))
    {
    Speed = Speed - Deceleration;
    }

    if (Input.GetAxis("Menu"))
    {
    Application.LoadLevel("Pause Menu");
    }

    transform.Rotate(0,Input.GetAxis("Turn") * YawSpeed * Time.deltaTime,0);

    transform.Rotate(0,0,Input.GetAxis("Yaw") * TurnSpeed * Time.deltaTime);

    transform.Rotate(Input.GetAxis("Elevate") * ElevateSpeed * 2 *Time.deltaTime,0,0);
    }

    Any ideas?