게임패드 축 값 가져오기
이 문서는 게임패드의 다양한 축 값을 가져오는 방법에 대해 설명합니다. 게임패드를 사용하여 좌우 또는 상하로 움직이는 축의 값을 가져오고, 이를 특정 변수에 저장할 수 있습니다.
게임패드 축 값 가져오기
이 액션을 사용하면 주어진 게임패드에서 다양한 축의 값을 얻을 수 있습니다. 게임패드 인덱스를 제공하고, 왼쪽 또는 오른쪽 스틱의 수평 또는 수직 축 중에서 체크할 축을 선택합니다. 반환되는 값은 각 수평 및 수직 축에 대해 -1에서 1 사이입니다. 수평 축의 경우 -1은 좌측, 1은 우측을 의미하며, 수직 축의 경우 -1은 상단, 1은 하단을 의미합니다. 이 반환 값은 사용자가 제공하는 대상 변수에 저장됩니다.
특히 "Temp" 변수를 플래그로 설정하면 이 액션이 새로운 임시(local) 변수를 생성하여 반환 값을 보관합니다. 아래 예제에서 보여집니다.
축의 데드존을 설정하더라도 반환 값에는 영향을 미치지 않습니다. 반환 값은 항상 -1과 1 사이입니다. 예를 들어, 데드존을 0.2로 설정하면 오른쪽으로 스틱을 밀어야 값이 0부터 1로 시작됩니다. 원래 축 값이 0.2일 경우 반환 값은 0이 되며, 원래 값이 0.5일 때 반환 값은 0.375가 되고, 원래 값이 0.9일 경우 반환 값은 0.875가 됩니다.
액션 구문 및 인자 설명
| 인자 | 설명 |
|---|---|
| Gamepad | 게임패드 인덱스 |
| Axis | 체크할 축 (왼쪽 스틱/오른쪽 스틱, 수평/수직) |
| Target | 반환된 값을 저장할 대상 변수 |
예제
다음 코드 블럭은 두 개의 로컬(임시) 변수를 생성하고 게임패드의 왼쪽 스틱의 수평 및 수직 축에 대한 현재 값을 저장합니다. 이 값을 사용하여 인스턴스의 방향을 설정합니다.
var horizontalAxis = get_gamepad_axis(0, ga_left_stick, ga_horizontal);
var verticalAxis = get_gamepad_axis(0, ga_left_stick, ga_vertical);
// 인스턴스의 방향 설정
direction = point_direction(0, 0, horizontalAxis, verticalAxis);
다양한 활용 예제
- 캐릭터 이동 제어
게임 내 캐릭터의 이동 방향을 게임패드의 스틱으로 제어할 수 있습니다.
gml var hAxis = get_gamepad_axis(0, ga_left_stick, ga_horizontal); var vAxis = get_gamepad_axis(0, ga_left_stick, ga_vertical); x += hAxis * speed; // 좌우 이동 y += vAxis * speed; // 상하 이동
- 카메라 이동
게임의 카메라를 게임패드로 제어할 수 있습니다.
gml var hAxis = get_gamepad_axis(0, ga_right_stick, ga_horizontal); var vAxis = get_gamepad_axis(0, ga_right_stick, ga_vertical); camera_x += hAxis * camera_speed; camera_y += vAxis * camera_speed;
- 전투 동작
전투 중 스틱의 움직임으로 캐릭터의 공격 방향을 조정할 수 있습니다.
gml var hAxis = get_gamepad_axis(0, ga_left_stick, ga_horizontal); var vAxis = get_gamepad_axis(0, ga_left_stick, ga_vertical); attack_direction = point_direction(0, 0, hAxis, vAxis);
결론
게임패드로부터 축 값을 가져오는 방법은 캐릭터 이동, 카메라 제어, 전투 동작 등 다양한 게임 요소에 활용될 수 있습니다. 위의 예제를 통해 게임패드를 효과적으로 사용할 수 있는 방법을 확인해보세요.