Đạn trúng mục tiêu
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 56 trên 71.
Thử thách
Trung bìnhViết bullet: nó gây sát thương cho đối tượng có Health và biến mất khi va phải bất cứ thứ gì.
- Trong
Bullet, thêmvoid OnCollisionEnter(Collision collision). - Bên trong,
if (collision.gameObject.TryGetComponent(out Health health)), gọihealth.TakeDamage(damage);. - Sau
ifđó, gọiDestroy(gameObject);để viên đạn cũng biến mất khi va vào tường.
Nhấn “Chơi” rồi bắn vào hình nộm và bức tường. Sau đó nhấn “Kiểm tra”.
Tự làm thử
using UnityEngine;
public class Bullet : MonoBehaviour
{
[SerializeField] private int damage = 2;
// Khi trúng mục tiêu: gây sát thương cho đối tượng có Health, rồi hủy viên đạ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 xuTự luyện tập: Playground Unity