Menu
CoddyTech

Yemek

Coddy'nin Unity'de 3D Yılan Oyunu kursunda ders 5 / 14.

Yiyecek rastgele bir hücrede bulunur. Hücreler tam sayı olduğundan, x ve z değerlerini Random.Range’in int sürümüyle seç. int değerlerinde üst sınır dahil değildir: Random.Range(1, 7) bir zar atar; 1 ile 6 arasında sonuç verir, asla 7 vermez. Bir sayıyı dahil etmek için ondan bir fazlasını iste.

Ondalıklı sayı argümanlarıyla Random.Range aradaki herhangi bir sayıyı döndürür; örneğin 3.62, bu da bir hücrenin ortasına denk gelmez, dolayısıyla yılan yiyeceğe asla ulaşamaz. 0 ile 9 arasındaki hücrelerden oluşan 10'a 10'luk bir ızgaradaki sandık:

int row = Random.Range(0, 10);      // 0'dan 9'a kadar
int column = Random.Range(0, 10);
chest.position = new Vector3(column, 0f, row);

Tahtada aynı anda tek bir yiyecek bulunur; bu nedenle oyun onu Start() içinde bir kez oluşturur ve yeni bir yere ihtiyaç duyduğunda taşır. Yiyecek GameManager tarafından yönetilir ve snake alanı üzerinden yılanın edge değerini okuyarak tahtanın boyutunu öğrenir.

challenge icon

Görev

Orta

GameManager öğesini tamamla. Sahne, snake değerini yılanın başındaki Snake'e ve foodPrefab değerini kırmızı bir küreye ayarlar.

  1. public Snake snake;, public GameObject foodPrefab; ve private Transform food; ekle.
  2. Start() içinde foodPrefab örneğini oluştur, Transform'unu food içinde tut ve MoveFood() çağır.
  3. void MoveFood() yaz: food öğesini rastgele bir hücreye yerleştirir; x ve z değerleri -snake.edge ile snake.edge arasında, y ise 0 olur.

Play tuşuna basıp yiyeceği tahtada bul, ardından Check tuşuna bas.

Kendin dene

using UnityEngine;

public class GameManager : MonoBehaviour
{
    // Oyunu yönetir: yiyecekleri, skoru ve oyun sonunu. Chapter 2'de içeriği tamamlanır.
}
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Unity'de 3D Yılan Oyunu bölümündeki tüm dersler