Tìm theo tên
Thuộc phần Những kiến thức cơ bản về lập trình trong Unity trong hành trình Unity của Coddy. Bài học 56 trên 85.
GameObject.Find("Player") tìm trong cảnh một đối tượng đang hoạt động có tên khớp chính xác và trả về đối tượng đó, hoặc trả về null nếu không có. Cách này giúp bạn không phải gán một trường trong Inspector, nhưng phải đánh đổi: nó tìm qua mọi đối tượng trong cảnh. Vì vậy, hãy gọi hàm này một lần trong Start() và lưu kết quả vào một trường. Camera an ninh này tìm Player khi trò chơi bắt đầu và theo dõi đối tượng đó ở mỗi khung hình:
private Transform player;
void Start()
{
player = GameObject.Find("Player").transform;
}
void Update()
{
transform.LookAt(player);
}Tên phải khớp chính xác, bao gồm chữ hoa và dấu cách: "player" hoặc "Player " sẽ không tìm thấy gì. Find cũng bỏ qua các đối tượng không hoạt động (bị ẩn). Nếu tìm kiếm thất bại, hàm sẽ âm thầm trả về null, còn lỗi chỉ xuất hiện ở dòng tiếp theo sử dụng kết quả: trong trường hợp này, .transform gây ra NullReferenceException. Đường dẫn như "Car/Wheel" sẽ tìm Wheel, là đối tượng con của Car.
Thử thách
Trung bìnhXe tự hành báo khoảng cách đến mục tiêu.
- Trong
Start(), đặtgoal = GameObject.Find("Goal").transform;. - Trong
Update(), khiInput.GetKeyDown(KeyCode.Space), ghi nhật ký"Distance to goal: " + Vector3.Distance(transform.position, goal.position).
Nhấn Chơi rồi nhấn Space: Console hiển thị Distance to goal: 5. Sau đó nhấn Kiểm tra.
Tự làm thử
using UnityEngine;
public class Beacon : MonoBehaviour
{
private Transform goal;
void Start()
{
// Tìm đối tượng có tên Goal và lưu Transform của nó vào goal.
}
void Update()
{
// Space: ghi khoảng cách đến mục tiêu vào nhật ký.
}
}
Tất cả bài học trong Những kiến thức cơ bản về lập trình trong Unity
1C# cơ bản trong Unity
Xin chào, UnityBiếnSố thập phân cần có fVăn bản trong ConsoleBiến có thể ghi nhớIf và elseSo sánh các sốÔn tập: Thu thập xu7Vòng lặp và phương thức
Lặp lại với forVòng lặp lồng nhauViết phương thứcPhương thức trả lờiMảngÔn tập: Cầu thang10Tìm đối tượng
Tìm theo tênThẻTìm theo kiểuTham chiếu tốt hơn tìm kiếmNull trong UnityÔn tập: đồng xu gần nhất2Làm cho nó chuyển động
Đặt khối lập phươngDi chuyển theo từng khung hìnhXoay mỗi giâyĐiều khiển bằng các phímÔn tập: Lái khối lập phương5Vectơ
Cộng vectơPhương hướngKhông gian cục bộ và không gian thế giớiTốc độ theo đường chéoKhoảng cách giữa các vậtVector3 là một structÔn tập: Người điều khiển drone8GameObject và thành phần
Tham chiếu trong InspectorLấy một thành phầnThành phần bị thiếuThêm một thành phầnRequireComponentHiện và ẩnÔn tập: Công tắc đèn3Inspector
Các trường trong InspectorSerializeFieldSố thực và MathfThuộc tính trong InspectorÔn tập: thang máy6Biến đổi và hệ phân cấp
Đối tượng cha và conKéo cờ lênTỷ lệNhìn vào các vật thểDi chuyển đến một điểmÔn tập: Mặt trăng quay quanh9Dự án: Bắt lấy ngôi sao
Người bắt saoNgôi sao rơiTự luyện tập: Playground Unity