SerializeField
Termasuk bagian Dasar-Dasar Scripting Unity dalam perjalanan Unity di Coddy. Pelajaran 15 dari 85.
Field public melakukan dua hal sekaligus: field ini muncul di Inspector, dan setiap skrip lain dapat membaca serta mengubahnya. Sering kali kamu hanya menginginkan hal pertama. Field private (default di C#) hanya dapat diubah oleh class-nya sendiri, jadi skrip lain tidak dapat merusaknya, tetapi Unity tidak menampilkannya di Inspector.
[SerializeField] meminta Unity untuk tetap menyimpan dan menampilkan field private. Jangkauan turret ini diatur untuk setiap turret di Inspector, dan tidak ada skrip lain yang dapat mengaksesnya:
[SerializeField] private float range = 5f;
void Start()
{
Debug.Log("Range: " + range);
}Begini cara sebagian besar kode Unity menyimpan pengaturannya: private, dengan [SerializeField]. Waspadai kebalikannya: jadikan field private dan lupa menambahkan atribut, maka Unity diam-diam menghapus nilai yang tersimpan di scene. Field akan kembali ke angka dalam kode, tanpa error yang memberi tahu kamu.
Tantangan
MudahSembunyikan tinggi lampu dari skrip lain, tetapi tetap tampilkan di Inspector.
- Ubah field menjadi
[SerializeField] private float height = 1f;. - Biarkan
Start()seperti semula: Inspector mengaturheightmenjadi 4.
Tekan tombol “Main”: lampu tetap tergantung pada ketinggian 4. Lalu tekan tombol “Periksa”.
Coba sendiri
using UnityEngine;
public class LampHeight : MonoBehaviour
{
public float height = 1f;
void Start()
{
transform.position = new Vector3(0, height, 0);
}
}
Semua pelajaran di Dasar-Dasar Scripting Unity
1Dasar-Dasar C# di Unity
Halo, UnityVariabelDesimal Memerlukan fTeks di ConsoleVariabel yang Menyimpan NilaiIf dan ElseBandingkan AngkaUlasan: Pengumpul Koin7Perulangan dan method
Ulangi dengan forPerulangan di dalam perulanganTulis methodMethod yang Mengembalikan NilaiarrayUlasan: Tangga10Menemukan Benda
Cari Berdasarkan NamaTagCari Berdasarkan TipeReferensi Lebih Baik daripada FindNull di UnityRangkuman: Koin Terdekat13Proyek: Hindari Balok
Karakter PelariBalok dari Langit2Buat Bergerak
Tempatkan KubusBergerak Setiap FrameBerputar Setiap DetikKemudikan dengan TombolRangkuman: Kemudikan Kubus5Vektor
Menjumlahkan VektorArahRuang Lokal dan DuniaKecepatan DiagonalJarak AntarobjekVector3 adalah StructRangkuman: Pilot Drone8GameObjects dan Komponen
Referensi di InspectorAmbil KomponenKomponen yang HilangTambahkan KomponenRequireComponentTampilkan dan SembunyikanRingkasan: Sakelar Lampu6Transformasi dan Hierarki
Objek Induk dan AnakKibarkan BenderaSkalaMelihat BendaBergerak Menuju TitikRekap: Bulan yang MengorbitLatihan sendiri: Playground Unity