Menu
CoddyTech

Jedzenie

Lekcja 5 z 14 w kursie Gra w Unity: Wąż 3D w Coddy.

Jedzenie znajduje się na losowej komórce. Współrzędne komórek są liczbami całkowitymi, więc wybierz x i z za pomocą wersji int funkcji Random.Range. W przypadku liczb całkowitych górna granica jest pomijana: Random.Range(1, 7) symuluje rzut kostką, dając wynik od 1 do 6. Aby uwzględnić daną liczbę, podaj wartość o jeden większą. W przypadku liczb zmiennoprzecinkowych funkcja zwraca takie liczby jak 3.62, a nie środek komórki.

Na planszy o krawędzi długości 4 kolumny rozciągają się od -4 do 4:

int x = Random.Range(-4, 5);   // od -4 do 4

Na planszy znajduje się jednocześnie tylko jedno jedzenie, więc gra tworzy je raz, w Start(), a następnie przenosi w nowe miejsce, gdy jest to potrzebne. GameManager odczytuje rozmiar planszy z pola edge węża za pośrednictwem swojego pola snake.

challenge icon

Wyzwanie

Średni

Umieść jedzenie na losowym polu planszy.

  1. W GameManager dodaj public Snake snake;, public GameObject foodPrefab; i private Transform food; (scena łączy dwa pierwsze).
  2. W Start() umieść food = Instantiate(foodPrefab).transform;, a następnie wywołaj MoveFood().
  3. void MoveFood(): umieść jedzenie na losowych współrzędnych x i z, każdej z zakresu od -snake.edge do snake.edge, przy y równym 0.

Naciśnij „Graj”: czerwona kula znajduje się na polu, za każdym razem w innym miejscu. Następnie naciśnij „Sprawdź”.

Spróbuj swoich sił

using UnityEngine;

public class GameManager : MonoBehaviour
{
    // Zarządza grą: jedzeniem, punktacją i końcem gry. Rozdział 2 uzupełnia tę klasę.
}

Wszystkie lekcje w sekcji Gra w Unity: Wąż 3D

Poćwicz samodzielnie: Edytor online Unity