Golf bi
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 68 trên 71.
Chơi golf với một viên bi trên sân cỏ nhỏ. Viên bi bắt đầu ở điểm phát bóng: bạn ngắm bằng các phím mũi tên, giữ phím Space để tăng lực rồi thả ra để đánh. Viên bi lăn, nảy khỏi các thành sân và khối ở giữa, rồi chậm dần. Khi đủ chậm, nó sẽ dừng hẳn. Chỉ lúc đó bạn mới có thể đánh tiếp. Viên bi lăn vào lỗ với tốc độ chậm sẽ rơi vào; nếu đến quá nhanh, nó sẽ lăn qua lỗ. Số lần đánh càng ít càng tốt.
Viết hai tập lệnh: Golf cho viên bi và Hole cho lỗ.
Thử thách
KhóViết code cho viên bi golf: ngắm, tích lực, đánh.
- Điều chỉnh
aimbằng trục Horizontal thô với tốc độaimSpeed; đặtpointertạitransform.position + Quaternion.Euler(0f, aim, 0f) * Vector3.forward. - Khi viên bi đứng yên (tốc độ dưới
stopSpeed), giữ phím Space để tăngpowertheochargeRateđếnmaxPower; thả phím để đánh viên bi theo hướng ngắm (Impulse), đặt lạipower, ghi log"Stroke " + strokes. - Trong
FixedUpdate(), khi viên bi đứng yên, đặt cả hai vận tốc về 0.
Nhấn Chơi rồi đánh bóng. Sau đó nhấn Kiểm tra.
Tự làm thử
using UnityEngine;
public class Golf : MonoBehaviour
{
public int strokes = 0;
[SerializeField] private Transform pointer;
[SerializeField] private float aimSpeed = 90f;
[SerializeField] private float chargeRate = 4f;
[SerializeField] private float maxPower = 6f;
[SerializeField] private float stopSpeed = 0.3f;
private Rigidbody rb;
void Start()
{
rb = GetComponent<Rigidbody>();
}
// Ngắm bằng các phím mũi tên, giữ Space để tích lực, thả phím để đánh bóng, dừng khi bóng lăn chậm
}
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