Bạn thắ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 33 trên 71.
Thử thách
Trung bìnhĐể người chơi thắng khi đạt target điểm.
- Trong
Ball.cs, thêmpublic int target = 10;vàbool IsPlaying(), trả vềtimeLeft > 0f && score < target. - Dùng
IsPlaying()thay chotimeLeft > 0ftrongUpdate()vàFixedUpdate(), rồi mở đầuAddScorebằngif (!IsPlaying()) return;. - Sau dòng cập nhật điểm, khi
score >= target, ghi nhật kýYou win!.
Nhấn Chơi và thu thập 8 điểm. Sau đó nhấn Kiểm tra.
Tự làm thử
using UnityEngine;
public class Ball : MonoBehaviour
{
public float force = 10f;
public int score;
public float timeLimit = 60f;
public float timeLeft;
private Rigidbody rb;
void Start()
{
rb = GetComponent<Rigidbody>();
timeLeft = timeLimit;
}
void Update()
{
if (timeLeft > 0f)
{
timeLeft -= Time.deltaTime;
if (timeLeft <= 0f)
{
timeLeft = 0f;
Debug.Log("Time's up! Score: " + score);
}
}
}
void FixedUpdate()
{
if (timeLeft > 0f)
{
float x = Input.GetAxis("Horizontal");
float z = Input.GetAxis("Vertical");
rb.AddForce(new Vector3(x, 0f, z) * force);
}
}
public void AddScore(int points)
{
score += points;
Debug.Log("Score: " + score);
}
}
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