Menu
CoddyTech

잡아라

Coddy Unity 여정의 Unity 스크립팅 기초 섹션에 포함된 레슨. 67개 중 38번째.

challenge icon

챌린지

중급

별을 잡으세요. 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;
    }
}

Unity 스크립팅 기초의 모든 레슨