키로 조종하기
Coddy Unity 여정의 Unity 스크립팅 기초 섹션에 포함된 레슨. 67개 중 5번째.
Input.GetKey(KeyCode.Space)는 스페이스 키를 누르고 있는 동안 매 프레임 true이고, 그렇지 않으면 false입니다. Update()에서 이를 확인하고, 참일 때만 움직이면 플레이어가 오브젝트를 조종합니다.
이 상자는 스페이스 키를 누르고 있는 동안 초당 lift 단위만큼 올라갑니다. 지난 강의에서처럼 Time.deltaTime을 사용하면 초당 속도를 일정하게 유지할 수 있습니다.
public float lift = 2f;
void Update()
{
if (Input.GetKey(KeyCode.Space))
{
transform.position += new Vector3(0, lift * Time.deltaTime, 0);
}
}모든 키에는 KeyCode가 있습니다. 예를 들면 KeyCode.UpArrow, KeyCode.W, KeyCode.Return 등이 있습니다. 먼저 게임 뷰를 클릭해야 키 입력이 게임 뷰에 전달됩니다. Unity 6 참고 사항: 새 프로젝트에서는 새 Input System을 사용하며, Active Input Handling(Project Settings, Player)을 Both로 설정하기 전까지는 Input.GetKey에서 오류가 발생합니다.
챌린지
쉬움플레이어가 큐브를 조종하도록 하세요. 오른쪽 화살표를 누르고 있는 동안에는 초당 speed 단위의 속도로 오른쪽(+x 방향)으로 움직이고, 왼쪽 화살표를 누르고 있는 동안에는 같은 속도로 왼쪽으로 움직입니다. 아무 키도 누르고 있지 않으면 제자리에 있습니다.
Play를 누르고 게임을 클릭한 다음 화살표 키를 사용해 보세요. 그런 다음 Check를 누르세요.
직접 해보기
using UnityEngine;
public class Steering : MonoBehaviour
{
public float speed = 4f;
void Update()
{
// 오른쪽 화살표: 오른쪽으로 이동. 왼쪽 화살표: 왼쪽으로 이동.
}
}
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.