Menu
CoddyTech

Referensi di Inspector

Termasuk bagian Dasar-Dasar Scripting Unity dalam perjalanan Unity di Coddy. Pelajaran 29 dari 67.

Sebuah field dapat menyimpan object lain. Beri field itu tipe seperti Transform atau GameObject, lalu Inspector menampilkan slot kosong yang bisa kamu isi dengan menyeret object dari Hierarchy ke slot tersebut. Skrip kamera ini mengikuti object yang diseret ke player, dengan posisi 3 unit di atasnya dan 6 unit di belakangnya:

public Transform player;

void Update()
{
    transform.position = player.position + new Vector3(0, 3, -6);
}

Slot yang dibiarkan kosong menampilkan Tidak ada, dan baris pertama yang menggunakannya akan memunculkan error pada setiap frame: UnassignedReferenceException: The variable player of CameraFollow has not been assigned. Baris berikutnya pada pesan tersebut menjelaskan apa yang perlu dilakukan: You probably need to assign the player variable of the CameraFollow script in the inspector. Pesan itu menyebutkan field dan skripnya, sehingga kamu tahu slot mana yang perlu diisi.

Beberapa skrip seharusnya tetap berfungsi meskipun slotnya kosong. Unity membuat slot kosong dianggap sama dengan null, jadi skrip seperti itu memeriksanya sebelum digunakan. Dengan if (player != null) mengelilingi baris di Update(), kamera yang tidak memiliki player akan tetap berada di tempatnya dan tidak memunculkan error.

challenge icon

Tantangan

Sedang

Setiap penjaga berjalan menuju posnya masing-masing. Di scene, Inspector milik Guard1 menempatkan object Post1 di field bernama post. Pos Guard2 belum dibuat, jadi slot post-nya kosong.

  • Beri script Guard field Transform bernama post.
  • Penjaga berjalan menuju posisi posnya dengan kecepatan speed unit per detik dan berhenti di sana, meskipun posnya dipindahkan nanti.
  • Penjaga yang slot posnya kosong tetap berada di tempatnya tanpa error.

Tekan Play, pilih setiap penjaga di Hierarchy untuk melihat slot Post-nya, lalu tekan Check.

Coba sendiri

using UnityEngine;

public class Guard : MonoBehaviour
{
    // post: Transform yang dituju penjaga ini, diatur di Inspector
    public float speed = 2f;

    void Update()
    {
        // Berjalan ke post dengan kecepatan speed. Penjaga dengan slot post kosong tetap di tempat.
    }
}
quiz iconUji dirimu

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

Semua pelajaran di Dasar-Dasar Scripting Unity