Mục tiêu di động
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 67 trên 71.
Thử thách
KhóViết script cho mục tiêu: chúng trượt qua lại trong phạm vi, và một quả bóng sẽ đánh trúng chúng.
- Trong
Start(), giữ nguyênstartX = rb.position.x. TrongFixedUpdate(), di chuyển theo trục x bằngrb.MovePositionvớispeed, đổi chiềudirectiontừ 1 sang -1 hoặc ngược lại khi cáchstartXmột khoảng bằngrange. - Trong
OnCollisionEnter, khicollision.gameObject.CompareTag("Ball"), ghi nhật kýname + " hit!"rồi hủy quả bóng và mục tiêu.
Nhấn Chơi và đánh trúng cả ba mục tiêu. Sau đó nhấn Kiểm tra.
Tự làm thử
using UnityEngine;
public class Target : MonoBehaviour
{
[SerializeField] private float speed = 2f;
[SerializeField] private float range = 3f;
private Rigidbody rb;
void Start()
{
rb = GetComponent<Rigidbody>();
}
// Trượt qua lại giữa hai bên; quả bóng va vào mục tiêu sẽ hất nó ra ngoài
}
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