참고 : http://answers.unity3d.com/questions/603334/getting-inputgetaxis-to-execute-once.html
조이패드로 유아이를 조작할 때,
Input.GetAxis("Vertical")>0 로 조작한다면 조금만 눌러도 값이 프레임당 입력되기 때문에 유아이 조작이 힘들다.
따라서, 따로 변수를 둬서 처리하면 되는데 일단
GetAxis 와 달리 GetAxisRaw의 경우 -1, 0, 1만을 리턴해주는 함수이다.
- [선언부]
private bool axisInUse = false;
if (Input.GetAxisRaw("Vertical") == 1)
{
if (axisInUse == false)
{
axisInUse = true;
// 내용1
}
}
else if (Input.GetAxisRaw("Vertical") == -1)
{
if (axisInUse == false)
{
axisInUse = true;
// 내용2
}
}
(실제 적용 예)
void SelectedButtonCount()
{
if (Input.GetKeyDown (KeyCode.E) || Input.GetButtonDown ("Xiaomi_R1button") || (Input.GetAxisRaw("Vertical") == -1 && axisInUse == false ) ) {
selectedButton++;
slectSound.Play ();
axisInUse = true;
}
else if (Input.GetKeyDown(KeyCode.Q) || Input.GetButtonDown("Xiaomi_L1button") || (Input.GetAxisRaw("Vertical") == 1 && axisInUse == false ))
{
selectedButton--;
slectSound.Play ();
if (selectedButton < 0)
selectedButton = 2;
axisInUse = true;
}
selectedButton = selectedButton % 3;
if (Input.GetAxisRaw("Vertical") == 0)
{
axisInUse = false;
}
}
'🌍 Unity > 유니티 프로그래밍' 카테고리의 다른 글
유니티 텍스트 파일 StreamingAssets 폴더에 입출력 (0) | 2018.03.30 |
---|---|
UV 스크롤러 (0) | 2016.11.27 |
[Unity] Y축으로만 LookAt (0) | 2016.08.31 |
유니티 코딩 개인 메모 (0) | 2016.08.24 |
유니티 오브젝트 사이의 정보 교환 (0) | 2016.05.29 |