게임패드 매핑 가져오기
gamepad_get_mapping
함수는 게임패드의 매핑 문자열을 가져오는 데 사용됩니다. 이 문자열은 다음과 같은 형태일 수 있습니다:
- 현재 게임패드의 매핑 문자열 예시:
"050000005e040000fd020000ffff3f00,Xbox Wireless Controller,a:b0,b:b1,start:b4,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b6,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,x:b2,y:b3,platform:android"
- 매핑이 설정되지 않은 경우:
"no mapping"
- 슬롯 인덱스가 유효하지 않은 경우:
"device index out of range"
- 연결된 게임패드에 매핑이 없는 경우:
"" (빈 문자열)
문법
gamepad_get_mapping(index);
인수 설명
인수 | 유형 | 설명 |
---|---|---|
index | 정수 | 매핑을 가져올 게임패드 인덱스 "슬롯" |
반환값
- 매핑 문자열
예제
다음 코드는 주어진 게임패드 슬롯에 대한 매핑 문자열을 가져오고, 이를 콘솔에 출력하여 디버깅합니다.
var _gpMap = gamepad_get_mapping(global.PadIndex);
show_debug_message("Gamepad Mapping = " + _gpMap);
활용 예제
- 게임패드 매핑 확인하기
gml var mapping = gamepad_get_mapping(0); if (mapping != "") { show_debug_message("현재 매핑: " + mapping); } else { show_debug_message("매핑이 없습니다."); }
- 모든 게임패드 슬롯의 매핑 가져오기
gml for (var i = 0; i < gamepad_count; i++) { var mapping = gamepad_get_mapping(i); show_debug_message("슬롯 " + string(i) + "의 매핑: " + mapping); }
- 유효한 게임패드 인덱스 확인하기
gml var index = 1; // 예시 인덱스 if (index < gamepad_count) { var mapping = gamepad_get_mapping(index); show_debug_message("슬롯 " + string(index) + "의 매핑: " + mapping); } else { show_debug_message("인덱스가 범위를 초과했습니다."); }
- 게임패드 매핑을 기반으로 입력 처리하기
gml var mapping = gamepad_get_mapping(global.PadIndex); if (string_pos("a:b0", mapping) > 0) { // 버튼 A가 눌렸을 때의 처리 }
이와 같은 방식으로 gamepad_get_mapping
함수를 활용하여 게임패드의 매핑 정보를 가져오고, 이를 기반으로 다양한 기능을 구현할 수 있습니다.