Menu
CoddyTech

Poruszaj w każdej klatce

Część sekcji Podstawy skryptów w Unity ścieżki Unity w Coddy. Lekcja 10 z 85.

Unity wywołuje Update() raz dla każdej rysowanej klatki. Zmień w nim położenie odrobinę, a obiekt będzie przesuwał się odrobinę w każdej klatce, co na ekranie wygląda jak płynny ruch.

+= dodaje do położenia wartość Vector3: każda z wartości x, y i z zwiększa się o odpowiadającą jej liczbę. Ten balon unosi się o 0.02 jednostki w każdej klatce i pozostaje w tym samym miejscu na osiach x i z:

void Update()
{
    transform.position += new Vector3(0, 0.02f, 0);
}

f to przyrostek typu float w C#, który już znasz: Unity operuje na wartościach float, a samo 0.02 byłoby typu double. Przy 60 klatkach na sekundę balon unosi się o 0.02 x 60 = 1.2 jednostki na sekundę.

challenge icon

Wyzwanie

Łatwy

Spraw, by czerwony samochód jechał do przodu.

  1. W metodzie Update() dodaj new Vector3(0, 0, 0.05f) do transform.position za pomocą +=.
  2. Pozostaw x i y równe 0: samochód porusza się tylko wzdłuż osi z.

Naciśnij „Graj”: samochód odjeżdża od kamery. Następnie naciśnij „Sprawdź”.

Spróbuj swoich sił

using UnityEngine;

public class CarMover : MonoBehaviour
{
    void Update()
    {
        // Przesuń tutaj samochód do przodu wzdłuż osi z
    }
}

Wszystkie lekcje w sekcji Podstawy skryptów w Unity

Poćwicz samodzielnie: Edytor online Unity