//출처는 골드메탈님 강의입니다!
: 유니티의 모든 입력값을 관리하는 클래스이다.
이때는 GetKey() ~ 를 사용한다.
키보드 입력 확인하는 함수로는
1) 계속 누르고 있는 중: Input.GetKey()
2) 눌렀을 때 : Input.GetKeyDown()
3) 눌렀다가 땠을 때 : Input.GetKeyUp()
로 구분된다.
키보드 입력값
: KeyCode라는 클래스 안에 모든 키보드 입력값이 명시 되어 있다.
void Update()
{
//게임 내 입력을 관리하는 클래스
//아무 입력을 최초로 받을 때 true
if(Input.anyKeyDown)
{
Debug.Log("플레이어 아무키 눌렀음!");
}
//누를때마다 계속 발생함.
//if (Input.anyKey)
//{
// Debug.Log("플레이어 아무키 누르고 있습니다.!");
//}
if (Input.GetKeyDown(KeyCode.LeftArrow))
{
Debug.Log("왼쪽 이동값 누름");
}
if (Input.GetKeyUp(KeyCode.RightArrow))
{
Debug.Log("오른쪽 이동값 눌렀다가 땜");
}
//엔터키임.
if (Input.GetKey(KeyCode.Return))
{
Debug.Log("엔터 누름");
}
}
//위의 함수 매개변수로는 0과 1이 들어간다.
0 : 왼쪽 마우스버튼
1 : 오른쪽 마우스 버튼
void Update()
{
//게임 내 입력을 관리하는 클래스
//아무 입력을 최초로 받을 때 true
if(Input.anyKeyDown)
{
Debug.Log("플레이어 아무키 눌렀음!");
}
if (Input.GetMouseButton(0))
{
Debug.Log("왼쪽 이동값 누르고 있는 중");
}
if (Input.GetMouseButtonDown(1))
{
Debug.Log("오른쪽 이동값 누름");
}
if (Input.GetMouseButtonUp(1))
Debug.Log("오른쪽 마우스 눌렀다가 땜");
}
: InputManager에 설정된 키워드를 가지고 와서 사용함
void Update()
{
if(Input.GetButtonDown("Jump"))
{
Debug.Log("점프");
}
if (Input.GetButtonUp("Jump"))
{
Debug.Log("점프하다가 키놓음");
}
if (Input.GetButton("Fire1"))
Debug.Log("Fire");
}
void Update()
{
if(Input.GetButton("Horizontal"))
{
Debug.Log("횡 이동 중..." + Input.GetAxis("Horizontal"));
}
}
2) Input.GetAxisRaw("인풋매니저 값")
-가중치 없이 -1 ~ 0 ~ 1 값만 나옴
동시에 반대되는 값들 누르면 0이 나온다.
void Update()
{
if(Input.GetButton("Horizontal"))
{
Debug.Log("횡 이동 중..." + Input.GetAxisRaw("Horizontal"));
}
}
오브젝트 만들면 기본적으로 Transform 컴포넌트를 가지고 있다.
1대 1 관계이므로 스크립트내에서 선언하지 않고 transform 이라는 변수로 사용하면 된다!
스칼라 : 크기만 가지고 있음!
벡터 : 크기와 방향을 가지고 있음!
transform.Translate(new 벡터값) : 벡터 값을 현재 위치에 더해주는 함수
//계속 해서 위로 올라가는 코드
void Update()
{
Vector3 vec = new Vector3(0, 0.1f, 0);
transform.Translate(vec);
}
//arrow값 변경에 따라 위치 변경되는 코드
void Update()
{
Vector3 vec = new Vector3(Input.GetAxis("Horizontal"),
Input.GetAxis("Vertical"), 0);
transform.Translate(vec);
}