시간과의 경쟁
Coddy Unity 여정의 물리와 게임플레이 섹션에 포함된 레슨. 63개 중 31번째.
챌린지
중급시계를 추가하세요. 이전 단계의 모든 내용을 유지하고 Ball에 다음을 추가하세요:
public float timeLimit = 60f;(Inspector에서 30으로 설정)와public float timeLeft;.timeLeft는 public이므로 Inspector에 표시되며, 여기서 카운트다운을 확인할 수 있습니다.- 게임이 시작되면
timeLeft는timeLimit과 같습니다. 0보다 큰 동안 매 프레임 프레임의 시간만큼 감소합니다. - 0에 도달하면 정확히 0으로 유지되고, 공은 점수와 함께
Time's up! Score: 5를 한 번 기록합니다. - 시간이 다 되면 화살표 키로 더 이상 공을 밀 수 없습니다.
Play를 누르고 30초 동안 몇 점을 얻는지 확인한 다음 Check를 누르세요.
직접 해보기
using UnityEngine;
public class Ball : MonoBehaviour
{
public float force = 10f;
public int score;
private Rigidbody rb;
void Start()
{
rb = GetComponent<Rigidbody>();
}
void FixedUpdate()
{
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);
}
}