Poznaj Unity 2022

Projektuj gry 2D na poziomie podstawowym
Udemy
platform
Polski
language
Game Development
category
Poznaj Unity 2022
9
students
11.5 hours
content
May 2023
last update
$19.99
regular price

Why take this course?

Ćwiczenie z listy wykładowej dotyczy zastosowania skryptów do sterowania ruchem sprite'a w Unity. Zadanie to ma na celu nauczić Cię, jak programować interaktywne elementy w gry 2D, używając języka C# w silniku Unity. Oto kroki, które musisz wykonać, aby zrealizować to zadanie:

  1. Importowanie sprite'a gracza: Zakładam, że już masz gotowy sprite gracza, który chcesz poruszyć. Jeśli nie, możesz pobrać gotowy obraz z internetu lub stworzyć własny. Importuj go do Unity jako prefab.

  2. Konfiguracja sprite'a: Upewnij się, że sprite gracza jest poprawnie skonfigurowany (ma rzeczywistą rotację, skalę itp.). Możesz to zrobić w edytorze Unity, na kartce "Sprite Renderer".

  3. Dodanie skryptu: Utwórz nowy skrypt C# w Unity i nazwij go np. PlayerMovement. Ten skrypt będzie odpowiedzialny za sterowanie ruchem sprite'a gracza.

  4. Konfiguracja Input Systemu: Wejdź do panelu "Input Manager" w Unity, aby zdefiniować klawisze lub kontrolery, które będą odpowiedzialne za różne kierunki ruchu gracza.

  5. Programowanie ruchesnego skryptu: W skrypcie PlayerMovement zaimportuj klasyy potrzebne do pracy z Input Systemem, np. InputManager. Następnie w metodzie Update lub w odpowiednich triggerach inputu (np. Horizontal, Vertical) wykonaj kody, którymi będziesz poruszać sprite'a zgodnie z wezwanymi klawiszami lub sygnałami z kontrolera.

    Przykład kodu w skrypcie PlayerMovement:

    public class PlayerMovement : MonoBehaviour
    {
        public float speed = 5f;
        
        private Rigidbody2D rb2d; // Komponent Rigidbody2D jest automatycznie dodawany, jeśli sprite ma kolizję
        
        void Start()
        {
            rb2d = GetComponent<Rigidbody2D>();
        }
        
        void Update()
        {
            float moveHorizontal = Input.GetAxis("Horizontal");
            float moveVertical = Input.GetAxis("Vertical");
            Vector2 movement = new Vector2(moveHorizontal, moveVertical);
            rb2d.AddForce(movement * speed);
        }
    
  6. Testowy: Po zastoweniu skryptu PlayerMovement na prefab gracza i akcji Unity (Play), przetuj grę, aby zobaczy ruch sprite'a gracza w czasie rzeczywym.

  7. Testowanie: Przesuj klawisze lub użycia kontrolera, aby sprawdzić, czy skrypt działa poprawnie.

  8. Optymizacja: W zale od kodu możesz zopatrz dalszym optymalizacjom, na przykład dodajączy szybszy skrypt dołągoty lub użyć komponentu Collider2D w celu sterowania ruchem sprite'a zamiast Rigidbody2D, jeśli Twoja scena wymagającym stopniu wymaganym stanie wymowych warunkach. Po zrealizowaniu tego zadania, będz mógć sterować ruch sprite'a gracza za pomocą klawiszy lub użycia kontrolera, co umożliwi Cię oucie (czyli Twą Grę) w Unity. Pamię o dniach i miesiące, możesz również zastowanie skryptów na inne (np. skrypt do otwierki bramy)). Oto konkretny kod, który będzie umożliwał ruch sprite'a gracza w Unity:

public class PlayerMovement : MonoBehaviour
{
    public float speed = 10f; // Szybowość ruchem
    private Rigidbody2D rb2d;

    void Start()
    {
        rb2d = GetComponent<Rigidbody2D>();
    }

    void Update()
    {
        float horizontalMovement = Input.GetAxis("Horizontal");
        float horizontalSpeed = horizontalMovement * speed;
        
        float verticalMovement = Input.GetAxis("Vertical");
        float verticalSpeed = verticalMovement * speed;
        
       Vector2 movement = new Vector2(horizontalSpeed, verticalSpeed);

        rb2d.AddForce(movement);
    }
}

W powyższym kodach, Input.GetAxis("Horizontal") i Input.GetAxis("Vertical") zwracą wartości między -1 a +1, gdzie -1 oznacza ruch w lewym kierunku, a +1 w prawym kierunku. Możesz dostosować te wartości, aby zwięcić lub zmnieś szybowość ruchem, zdefiniowaną w variabli speed. Możesz również stworzyć osi (np. movement.x dla pionu X i movement.y dla pionu Y), aby ruchować sprite'a gracza zamiast poruszać go w pełej mierze (Vector2).

Course Gallery

Poznaj Unity 2022 – Screenshot 1
Screenshot 1Poznaj Unity 2022
Poznaj Unity 2022 – Screenshot 2
Screenshot 2Poznaj Unity 2022
Poznaj Unity 2022 – Screenshot 3
Screenshot 3Poznaj Unity 2022
Poznaj Unity 2022 – Screenshot 4
Screenshot 4Poznaj Unity 2022

Loading charts...

5283104
udemy ID
20/04/2023
course created date
26/05/2023
course indexed date
Bot
course submited by