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 4Na 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.
Wyzwanie
ŚredniUmieść jedzenie na losowym polu planszy.
- W
GameManagerdodajpublic Snake snake;,public GameObject foodPrefab;iprivate Transform food;(scena łączy dwa pierwsze). - W
Start()umieśćfood = Instantiate(foodPrefab).transform;, a następnie wywołajMoveFood(). void MoveFood(): umieść jedzenie na losowych współrzędnych x i z, każdej z zakresu od-snake.edgedosnake.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