Menu
CoddyTech

Skor

Pelajaran 11 dari 14 dalam kursus Game Unity: Snake 3D di Coddy.

Skor bertambah di GameManager, tetapi tidak ada yang bisa melihatnya. Teks TextMeshPro di pojok kiri atas menampilkannya: sebuah field TMP_Text yang diatur di Inspector, dan text-nya diisi dari kode.

Tulis teks di tempat yang sama dengan tempat nilainya berubah, setelah perubahan. Dengan begitu, layar tidak pernah tertinggal dari skor. Toko memperbarui jumlah koinnya dengan cara yang sama:

public void Buy(int price)
{
    coins -= price;
    coinsText.text = "Coins: " + coins;
}

Atur teks sekali di Start() juga, agar frame pertama menampilkan skor sebenarnya, apa pun teks yang tertulis di scene.

challenge icon

Tantangan

Sedang
  1. Di GameManager, tambahkan using TMPro; dan public TMP_Text scoreText;. Scene mengaturnya ke ScoreText, di kiri atas.
  2. Di Start(), tampilkan Score: 0.
  3. Di Eat(), tampilkan skor baru, seperti Score: 3 setelah makanan ketiga.

Tekan Play dan makan, lalu tekan Check.

Coba sendiri

using System.Collections.Generic;
using UnityEngine;

public class GameManager : MonoBehaviour
{
    public static GameManager Instance;

    public Snake snake;
    public GameObject foodPrefab;
    private Transform food;
    private int score;

    void Awake()
    {
        Instance = this;
    }

    void Start()
    {
        food = Instantiate(foodPrefab).transform;
        MoveFood();
    }

    public bool IsFood(Vector3 cell)
    {
        return cell == food.position;
    }

    public void Eat()
    {
        score++;
        MoveFood();
    }

    void MoveFood()
    {
        List<Vector3> free = new List<Vector3>();
        for (int x = -snake.edge; x <= snake.edge; x++)
        {
            for (int z = -snake.edge; z <= snake.edge; z++)
            {
                Vector3 cell = new Vector3(x, 0f, z);
                if (!snake.Occupies(cell))
                {
                    free.Add(cell);
                }
            }
        }
        food.position = free[Random.Range(0, free.Count)];
    }
}
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Game Unity: Snake 3D