잡아라
Coddy Unity 여정의 Unity 스크립팅 기초 섹션에 포함된 레슨. 67개 중 38번째.
챌린지
중급별을 잡으세요. 0에서 시작하는 score를 추가하세요. 별이 포획자에서 1단위보다 가까워지면(Vector3.Distance로 측정) 별을 잡은 것입니다:
score에 1을 더하고,- 새 점수와 함께
Caught! Score: 1을 로그로 출력하고, - x와 z는 그대로 유지하면서 별을 y = 6으로 다시 올려 별이 다시 떨어지게 하세요.
빗나간 별은 당분간 계속 떨어집니다. 이전 단계의 내용을 모두 유지하세요.
직접 해보기
using UnityEngine;
public class Catcher : MonoBehaviour
{
[SerializeField] private float speed = 6f;
[SerializeField] private Transform star;
[SerializeField] private float fallSpeed = 3f;
void Update()
{
float x = transform.position.x;
if (Input.GetKey(KeyCode.RightArrow))
{
x += speed * Time.deltaTime;
}
if (Input.GetKey(KeyCode.LeftArrow))
{
x -= speed * Time.deltaTime;
}
x = Mathf.Clamp(x, -4f, 4f);
transform.position = new Vector3(x, transform.position.y, transform.position.z);
star.position += Vector3.down * fallSpeed * Time.deltaTime;
}
}