타일맵 셀의 x축 위치 가져오기
이 문서에서는 tilemap_get_cell_x_at_pixel 함수를 사용하여 타일맵 셀의 x축 위치를 가져오는 방법을 설명합니다. 이 함수는 방 내에서 상대적인 x축 위치를 제공하여 특정 타일맵 셀의 x축 위치를 반환합니다.
함수 설명
tilemap_get_cell_x_at_pixel 함수를 사용하면 다음과 같은 인자를 통해 타일맵 셀의 x축 위치를 얻을 수 있습니다:
문법
tilemap_get_cell_x_at_pixel(tilemap_element_id, x, y)
인자 설명
| 인자 | 타입 | 설명 |
|---|---|---|
| tilemap_element_id | Tile Map Element ID | 타일맵 셀의 x 위치를 가져오기 위한 타일맵 요소의 고유 ID |
| x | Real | 셀을 가져오기 위해 사용할 방 내의 x 위치 |
| y | Real | 셀을 가져오기 위해 사용할 방 내의 y 위치 |
반환값
- Real: x축 셀 위치 또는 오류가 발생할 경우 -1
예제 코드
아래의 코드는 타일맵 ID를 사용하여 방 좌표에서 셀 위치를 가져오고, 해당 위치에 있는 타일 데이터를 인스턴스 변수에 저장하는 방법을 보여줍니다.
var lay_id = layer_get_id("Tiles_Walls");
var map_id = layer_tilemap_get_id(lay_id);
var _x = tilemap_get_cell_x_at_pixel(map_id, mouse_x, mouse_y);
var _y = tilemap_get_cell_y_at_pixel(map_id, mouse_x, mouse_y);
tiledata = tilemap_get(map_id, _x, _y);
활용 예제
예제 1: 타일맵에서 특정 타일의 데이터 가져오기
var tile_id = tilemap_get_cell_x_at_pixel(map_id, player.x, player.y);
if (tile_id != -1) {
// 타일 데이터 처리
}
예제 2: 마우스 클릭 위치의 타일 확인
if (mouse_check_button_pressed(mb_left)) {
var clicked_tile_x = tilemap_get_cell_x_at_pixel(map_id, mouse_x, mouse_y);
var clicked_tile_y = tilemap_get_cell_y_at_pixel(map_id, mouse_x, mouse_y);
// 클릭한 타일에 대한 작업 수행
}
예제 3: 타일맵의 모든 타일 순회
for (var i = 0; i < tilemap_get_width(map_id); i++) {
for (var j = 0; j < tilemap_get_height(map_id); j++) {
var tile = tilemap_get(map_id, i, j);
// 각 타일에 대한 작업 수행
}
}
이와 같이 tilemap_get_cell_x_at_pixel 함수를 활용하여 타일맵의 셀 위치를 효과적으로 관리하고 다양한 게임 로직을 구현할 수 있습니다.