Ô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.
Thử thách
Trung bìnhViết code cho chú chó bảo vệ: nó đuổi theo người lạ ở gần chuồng.
- Trong
FixedUpdate(), khi người chơi cáchkennel.positionmột khoảng nhỏ hơnguardRangetrên mặt đất, chạy về phía người chơi với tốc độspeed, giữ nguyên y. - Nếu không, chạy về chuồng; khi cách chuồng trong phạm vi 0.3, đứng yên.
- Khi va vào
Player, gọiHealthcủa người chơi để thực thiTakeDamage(1)và tạo lực Impulse có độ lớnbiteđẩ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
}
}
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
1Rigidbody
Trọng lực và khối lượngĐẩy bằng AddForceNhảy bằng xung lựcFixedUpdate cho vật lýVận tốcVật thể động họcÔn tập: Bệ phóng4Coroutine
InvokeInvokeRepeating, CancelInvokeCoroutine đầu tiên của bạnVòng lặp trong CoroutineDừng CoroutineÔn tập: đếm ngược10Dự án: Thoát khỏi đấu trường
Đấu trườngThợ săn2Va chạm
OnCollisionEnterMình đã va chạm với gì?Vỡ khi va chạmĐứng trên mặt đấtĐộ nảy và ma sátHình dạng colliderÔn tập: Tường có thể phá vỡ5Dự án: Cuộc đua thu thập xu
Quả bóng lănThu thập xu3Vùng kích hoạt
Collider kích hoạtOnTriggerEnterVật phẩm thu thậpThùng giữ lại phần còn lạiVùng tiêu diệtVào và thoátÔn tập: chìa khóa và cánh cửa6Raycast
Physics.RaycastRaycastHitKiểm tra mặt đất bằng tiaLayer và LayerMaskTầm nhìnOverlapSphere và SphereCastÔn tập: Dây báo động laser9Kẻ địch
Đuổi theo người chơiĐuổi theo trong tầmTuần tra và truy đuổiMáu và sát thươngĐạn trúng mục tiêuĐánh bật lùiÔn tập: Chó giữ nhàTự luyện tập: Playground Unity