device_mouse_x_to_gui 함수 설명
device_mouse_x_to_gui
함수는 장치에서 GUI 레이어에 대한 터치의 x 위치를 반환합니다. GUI 레이어는 화면 해상도와 방 크기와는 독립적으로 다른 크기로 설정할 수 있기 때문에, 사용자가 화면을 터치한 정확한 위치를 얻는 것이 복잡할 수 있습니다. 이 함수를 사용하면 실제 GUI 크기를 기준으로 위치를 얻을 수 있어 GUI 버튼 및 HUD 요소를 더 쉽게 만들고 상호작용할 수 있습니다.
주요 특징
- HTML5, PC 및 Mac 모듈에서 이 값은 장치(주로 마우스)가 연결되어 있는 한 지속적으로 업데이트됩니다.
- 모바일 장치에서는 화면을 터치하는 동안에만 업데이트됩니다.
- 감지할 수 있는 최대 터치 수는 사용 중인 장치와 운영 체제에 따라 달라집니다.
문법
device_mouse_x_to_gui(device);
인수
인수 | 유형 | 설명 |
---|---|---|
device | 정수 | 체크할 장치 (0부터 n까지) |
반환값
- x 위치 값 (정수)
예제 코드
아래 코드는 장치 마우스가 눌리고 있는지 확인하고, GUI 레이어에서의 x 위치가 특정 범위 내에 있는지를 검사합니다.
if (device_mouse_check_button(0, mb_left)) {
if (device_mouse_x_to_gui(0) > 0 && device_mouse_x_to_gui(0) < 32) {
pressed = true;
} else {
pressed = false;
}
}
위의 코드는 장치 마우스가 눌리고 있는지 확인한 후, GUI 레이어에서의 x 위치가 0과 32 사이에 있는 경우 pressed
변수를 true
로 설정하고, 그렇지 않으면 false
로 설정합니다.
활용 예제
- 버튼 클릭 감지
gml if (device_mouse_check_button(0, mb_left)) { if (device_mouse_x_to_gui(0) > button_x && device_mouse_x_to_gui(0) < button_x + button_width) { // 버튼 클릭 처리 } }
- 드래그 앤 드롭 기능
gml if (device_mouse_check_button(0, mb_left)) { object.x = device_mouse_x_to_gui(0); object.y = device_mouse_y_to_gui(0); }
- HUD 요소 상호작용
gml if (device_mouse_check_button(0, mb_left)) { if (device_mouse_x_to_gui(0) > hud_element_x && device_mouse_x_to_gui(0) < hud_element_x + hud_element_width) { // HUD 요소와 상호작용 } }
- 터치 기반 게임
gml if (device_mouse_check_button(0, mb_left)) { var touch_x = device_mouse_x_to_gui(0); var touch_y = device_mouse_y_to_gui(0); // 터치 위치에 따라 게임 로직 처리 }
- UI 요소 위치 조정
gml if (device_mouse_check_button(0, mb_left)) { ui_element.x = device_mouse_x_to_gui(0); ui_element.y = device_mouse_y_to_gui(0); }