Menu
CoddyTech

Cari berdasarkan Nama

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

GameObject.Find("Player") mencari object aktif dengan nama yang sama persis di scene dan mengembalikannya, atau null jika tidak ada. Cara ini menghindari pengaturan field di Inspector, tetapi ada konsekuensinya: fungsi ini memeriksa setiap object di scene. Jadi, panggil fungsi ini sekali di Start(), lalu simpan hasilnya di field. Kamera keamanan ini mencari Player saat game dimulai dan mengawasinya di setiap frame:

private Transform player;

void Start()
{
    player = GameObject.Find("Player").transform;
}

void Update()
{
    transform.LookAt(player);
}

Nama harus sama persis, termasuk huruf kapital dan spasi: "player" atau "Player " tidak akan menemukan apa pun. Find juga melewatkan object yang tidak aktif (tersembunyi). Pencarian yang gagal akan mengembalikan null tanpa memberi tahu, dan error muncul pada baris berikutnya yang menggunakan hasilnya: di sini, .transform memunculkan NullReferenceException. Path seperti "Car/Wheel" menemukan Wheel yang merupakan child dari Car.

challenge icon

Tantangan

Sedang

Rover melaporkan jarak ke tujuannya.

  • Di Start(), cari object bernama Goal dan simpan Transform-nya di goal.
  • Setiap kali Space ditekan, catat jarak dari rover ke tujuan, seperti Distance to goal: 5.

Tujuan bisa bergerak, jadi ukur jaraknya saat Space ditekan.

Tekan Play, klik game dan tekan Space, lalu Check.

Coba sendiri

using UnityEngine;

public class Beacon : MonoBehaviour
{
    private Transform goal;

    void Start()
    {
        // Cari object bernama Goal dan simpan Transform-nya di goal.
    }

    void Update()
    {
        // Space: catat jarak ke goal di log.
    }
}
quiz iconUji dirimu

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

Semua pelajaran di Dasar-Dasar Scripting Unity