게임패드 해트 값 (gamepad_hat_value)
이 문서는 게임패드의 해트 값을 가져오는 함수에 대해 설명합니다. 이 함수는 현재 해트의 방향을 비트마스크 형태로 반환합니다. 해트 값은 다음과 같은 방향을 나타냅니다:
방향 | 값 | 이진수 표현 |
---|---|---|
위 | 1 | 0b0001 |
오른쪽 | 2 | 0b0010 |
아래 | 4 | 0b0100 |
왼쪽 | 8 | 0b1000 |
를 사용하여 여러 방향의 값을 결합할 수도 있습니다. 예: 0b0001 |
---|
최대 2비트만 설정된 값만 반환될 수 있습니다. 예를 들어, 값이 7(1 + 2 + 4)은 반환될 수 없습니다. 이는 위, 오른쪽, 아래를 동시에 누르는 것이 불가능하기 때문입니다. 이 함수는 아날로그 입력을 지원하는 게임패드에 대해서도 비트마스크를 반환합니다.
문법
gamepad_hat_value(device, hatindex);
인수 설명
인수 | 타입 | 설명 |
---|---|---|
device | Real | 확인할 게임패드 장치 "슬롯". |
hatindex | Real | 확인할 게임패드 해트(또는 해트) 인덱스 (0부터 gamepad_hat_count(device) - 1까지의 값). |
반환 값
- Real (해트 값 비트마스크)
활용 예제
다음은 게임패드의 해트 값을 가져와서 방향에 따라 캐릭터를 이동시키는 코드 예제입니다.
var _dir = gamepad_hat_value(global.PadIndex, 0);
switch (_dir) {
case 1:
y -= 3;
break;
case 2:
x += 3;
break;
case 3:
y -= 3;
x += 3;
break;
case 4:
x -= 3;
break;
case 6:
y += 3;
x += 3;
break;
case 8:
y += 3;
break;
case 9:
y -= 3;
x -= 3;
break;
case 12:
y += 3;
x -= 3;
break;
}
위 코드는 게임패드 장치 슬롯 global.PadIndex
의 해트 인덱스 0의 상태를 _dir
이라는 지역 변수에 저장한 후, 반환된 해트 값을 확인하고 그에 따라 행동합니다.