Gra samochodowa 2D, Problem z skryptem poruszania

gamedev

#1

Cześć jestem tu i zaczynam z tworzeniem gier i pisaniem skryptów chce sprawdzić czy się nadaje do tego :slight_smile:
Mam problem z sterowaniem auta, gra ma rzut z góry i napisałem pierwszy skrypt który nie do końca działa jak bym chciał mianowicie porusza się prawo lewo góra dół i przy skręcie zmienia swoją pozycje o 90 stopni ale tylko gdy trzymam dany przycisk a chciałbym żeby nie wracał do swojej pierwotnej rotacji jeśli nie wcisnę kolejnego przycisku. mam nadzieję że w miarę zrozumiale napisałem o co mi chodzi a oto mój skrypt:
public float carhorizontal = 2f;

public float carvertical = 2f;
public float smooth = 2.0F;
public float tiltAngle = -90.0F;
public float tiltAngle2 = 0F;
//public float cardiagonal = 1f;

private Vector3 carposition;

void Start ()
{

    carposition = this.gameObject.transform.position;
}


void Update()
{

    carposition.x += Input.GetAxis("Horizontal") * carhorizontal * Time.deltaTime;
    this.gameObject.transform.position = carposition;

    carposition.y += Input.GetAxis("Vertical") * carvertical * Time.deltaTime;
    //this.gameobject.transform.position = carposition;

    float tiltAroundX = 0; /*= Input.GetAxis("Horizontal") * tiltAngle2;*/
    float tiltAroundZ = Input.GetAxis("Horizontal")  * tiltAngle;
    Quaternion target = Quaternion.Euler(tiltAroundX,0, tiltAroundZ);
    transform.rotation = Quaternion.Slerp(transform.rotation, target, /*Time.deltaTime **/ smooth);

#2
Input.GetAxis("Horizontal")

sprawdź jak to działa bo mi sie wydaje ze przyjmuje wartości z zakresu -1 do 1. gdy nie wciskasz przyjmuje wartość neutralna 0.
? nie było to po prostu kopiuj wklej z skądś tam bez najmniejszej chęci zrozumienia ?