타일 인덱스를 픽셀에서 가져오기 (Get Tile Index At Pixel)
이 문서는 특정 레이어에서 주어진 위치의 타일 인덱스를 가져오는 방법에 대해 설명합니다. 레이어는 방 편집기에서 사용하는 이름으로 지정되며, x와 y 위치를 제공하여 해당 위치 내의 타일의 인덱스를 찾아 반환합니다. 반환된 인덱스는 다음과 같습니다:
0: 타일이 없음- 양의 정수: 타일의 인덱스
x와 y 위치는 호출하는 인스턴스의 위치를 기준으로 할 수 있으며, 타일 인덱스를 저장할 변수는 일시적인(로컬) 변수로 사용될 수 있습니다.
동작 구문 (Action Syntax)
var tile_index = get_tile_index_at_pixel("LayerName", mouse_x, mouse_y);
인수 설명 (Arguments)
| 인수 | 설명 |
|---|---|
| Layer | 타일을 설정할 레이어의 이름 |
| x | 확인할 x 위치 |
| y | 확인할 y 위치 |
| Target | 타일 인덱스를 저장할 대상 변수 |
예제 (Example)
다음 코드는 마우스 왼쪽 버튼 클릭을 감지하고, 클릭한 위치의 타일 인덱스를 가져옵니다. 타일 인덱스가 0이 아닐 경우, 해당 인덱스를 0으로 설정합니다.
if (mouse_check_button_pressed(mb_left)) {
var tile_index = get_tile_index_at_pixel("LayerName", mouse_x, mouse_y);
if (tile_index != 0) {
// 타일 인덱스가 0이 아니면 0으로 설정
tile_index = 0;
}
}
활용 및 응용 예제 (Applications and Examples)
- 타일 제거하기: 사용자가 특정 타일을 클릭할 때 타일을 제거하는 스크립트.
gml if (mouse_check_button_pressed(mb_left)) { var tile_index = get_tile_index_at_pixel("LayerName", mouse_x, mouse_y); if (tile_index != 0) { // 타일 제거 layer_tile_set("LayerName", tile_index, -1); } } - 타일 정보 표시하기: 사용자가 클릭한 위치의 타일 정보를 표시하는 UI 생성.
gml if (mouse_check_button_pressed(mb_left)) { var tile_index = get_tile_index_at_pixel("LayerName", mouse_x, mouse_y); if (tile_index != 0) { show_message("타일 인덱스: " + string(tile_index)); } } - 타일 색상 변경하기: 사용자가 클릭한 타일의 색상을 변경.
gml if (mouse_check_button_pressed(mb_left)) { var tile_index = get_tile_index_at_pixel("LayerName", mouse_x, mouse_y); if (tile_index != 0) { // 색상 변경 layer_tile_set_color("LayerName", tile_index, c_red); } }
참고 사항 (Notes)
get_tile_index_at_pixel함수는 특정 레이어의 픽셀 위치에 타일 인덱스를 반환하므로, 이 기능을 활용하면 게임 내에서 타일의 상태를 동적으로 변화시킬 수 있습니다.- 에디터에서 타일을 추가하거나 제거할 수 있으므로, 실시간으로 타일 인덱스를 변경하는 방식으로 자신의 게임을 더 흥미롭게 만들 수 있습니다.