Menu
CoddyTech

Canvas dan Teks

Termasuk bagian Membangun Game Sungguhan dalam perjalanan Unity di Coddy. Pelajaran 1 dari 56.

Unity menggambar teks, tombol, dan bilah di layar dengan sistem UI-nya. Di Unity 6, GameObject > UI > Text - TextMeshPro menambahkan object teks bernama Text (TMP); pertama kali, Unity meminta kamu mengimpor TMP Essentials, yang diperlukan teks untuk font-nya. Jika scene belum memiliki Canvas, Unity membuatnya dan menempatkan teks di dalamnya, serta EventSystem yang menjadi perantara klik UI. Canvas menggambar anak-anaknya di atas gambar kamera, di tempat tetap pada layar ke mana pun kamera mengarah. Atur Canvas Scaler-nya ke Scale With Screen Size, 1920 x 1080, Match 0.5, seperti yang dilakukan setiap scene dalam kursus ini, dan tata letaknya mempertahankan proporsi pada ukuran layar apa pun.

Komponen teksnya adalah TextMeshPro - Text (UI). Script menyimpannya dalam field bertipe dasar TMP_Text, dari namespace TMPro, dan mengubah apa yang ditampilkannya melalui property text, yang berupa string. Script ini memberi nama level saat dimulai:

using UnityEngine;
using TMPro;

public class LevelIntro : MonoBehaviour
{
    public TMP_Text titleText;

    void Start()
    {
        titleText.text = "World 2: Ice Caves";
    }
}

Seret object Text (TMP) dari Hierarchy ke slot Title Text di Inspector, dan Unity memasukkan komponen teksnya ke dalam field. Tanpa using TMPro;, nama TMP_Text tidak dikenali dan script tidak dapat dikompilasi (CS0246). Jika slot dibiarkan kosong, akses pertama ke titleText.text akan memunculkan UnassignedReferenceException. Teks yang ditulis script menggantikan Text Input yang diketik di Inspector, yang pada teks baru adalah New Text.

challenge icon

Tantangan

Mudah

Penjelajah berjalan di pulau dengan tombol panah kiri dan kanan, seperti yang sudah dilakukan Explorer.cs. Tampilkan lokasinya di ZoneText di bagian atas layar, yang masih menampilkan New Text:

  • Tambahkan using TMPro; dan field TMP_Text publik bernama zoneText. Scene menghubungkan ZoneText ke field dengan nama yang persis sama.
  • Setiap frame, teks menampilkan Zone: Beach saat nilai x penjelajah kurang dari 2, dan Zone: Jungle mulai dari 2.

Tekan Jalankan, berjalanlah ke area berumput lalu kembali, kemudian tekan Periksa.

Coba sendiri

using UnityEngine;

public class Explorer : MonoBehaviour
{
    public float speed = 4f;

    void Update()
    {
        float move = Input.GetAxisRaw("Horizontal");
        transform.Translate(move * speed * Time.deltaTime, 0f, 0f);

        // Tampilkan zona di ZoneText: Zone: Beach jika x di bawah 2, Zone: Jungle jika x mulai dari 2
    }
}
quiz iconUji dirimu

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

Semua pelajaran di Membangun Game Sungguhan