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.
Tantangan
MudahPenjelajah 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 fieldTMP_Textpublik bernamazoneText. Scene menghubungkan ZoneText ke field dengan nama yang persis sama. - Setiap frame, teks menampilkan
Zone: Beachsaat nilai x penjelajah kurang dari 2, danZone: Junglemulai 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
}
}
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Membangun Game Sungguhan
4Scene dan Level
Muat SceneMulai Ulang LevelLevel BerikutnyaPertahankan Antar-SceneRekap: Pilih Level10Proyek: Platformer 3D
LintasanPlatform Bergerak2Tombol dan Layar
Tombol dan onClickLambdaMenghubungkan di InspectorPanel Aktif dan NonaktifBilah KesehatanRangkuman: Toko Upgrade5Menyimpan dengan PlayerPrefs
Simpan AngkaMuat dengan Nilai DefaultSkor TertinggiSimpan PengaturanUlasan: Koin di Bank