Cú cắn của thợ săn
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 63 trên 71.
Thử thách
Trung bìnhKhiến thợ săn cắn và đẩy lùi người chơi.
- Trong
Hunter, thêm[SerializeField] private float knockback = 12f;vàvoid OnCollisionEnter(Collision collision). - Bên trong, khi
collision.gameObject.TryGetComponent(out Health health)đúng, hãy gọihealth.TakeDamage(1);. - Sau đó đẩy người chơi:
awayhướng từ thợ săn đến người chơi, đặt y thành 0, rồi gọicollision.rigidbody.AddForce(away.normalized * knockback, ForceMode.Impulse);.
Nhấn Chơi và xem bạn trụ được bao lâu. Sau đó nhấn Kiểm tra.
Tự làm thử
using UnityEngine;
public class Hunter : MonoBehaviour
{
[SerializeField] private float speed = 3f;
private Rigidbody rb;
private Transform player;
void Start()
{
rb = GetComponent<Rigidbody>();
player = GameObject.FindWithTag("Player").transform;
}
void FixedUpdate()
{
Vector3 toPlayer = player.position - rb.position;
toPlayer.y = 0f;
Vector3 dir = toPlayer.normalized;
rb.linearVelocity = new Vector3(dir.x * speed, rb.linearVelocity.y, dir.z * speed);
}
}
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