Menu
CoddyTech

Ôn tập: Chó giữ nhà

Thuộc phần Vật lý và lối chơi trong hành trình Unity của Coddy. Bài học 58 trên 71.

Bài ôn tập này kết nối các nội dung trong chương: một cuộc truy đuổi được thiết lập bằng vận tốc, một phạm vi được đo trên mặt đất, sát thương thông qua script Health và một lực đẩy lùi.

challenge icon

Thử thách

Trung bình

Viết code cho chú chó bảo vệ: nó đuổi theo người lạ ở gần chuồng.

  1. Trong FixedUpdate(), khi người chơi cách kennel.position một khoảng nhỏ hơn guardRange trên mặt đất, chạy về phía người chơi với tốc độ speed, giữ nguyên y.
  2. Nếu không, chạy về chuồng; khi cách chuồng trong phạm vi 0.3, đứng yên.
  3. Khi va vào Player, gọi Health của người chơi để thực thi TakeDamage(1) và tạo lực Impulse có độ lớn bite đẩy người chơi ra xa chú chó, theo phương ngang.

Nhấn Chơi gần chuồng. Sau đó nhấn Kiểm tra.

Tự làm thử

using UnityEngine;

public class Dog : MonoBehaviour
{
    [SerializeField] private Transform player;
    [SerializeField] private Transform kennel;
    [SerializeField] private float speed = 3.5f;
    [SerializeField] private float guardRange = 6f;
    [SerializeField] private float bite = 5f;
    private Rigidbody rb;

    void Start()
    {
        rb = GetComponent<Rigidbody>();
    }

    void FixedUpdate()
    {
        // Canh chuồng chó: đuổi theo người chơi khi họ đến gần, nếu không thì về chuồng
    }
}
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Vật lý và lối chơi

Tự luyện tập: Playground Unity