tile_get_index 함수 설명
tile_get_index 함수는 타일 세트 이미지 내에서 타일의 위치를 나타내는 타일 인덱스를 가져오는 데 사용됩니다. 이 함수는 타일 데이터를 입력받아 해당 데이터의 인덱스를 반환합니다. 타일 데이터는 tilemap_get() 함수를 사용하여 가져올 수 있습니다. 이 함수를 사용할 때는 주어진 타일 데이터가 유효한지 확인해야 하며, 그렇지 않으면 반환된 인덱스 값도 유효하지 않아 예기치 않은 동작이 발생할 수 있습니다.
문법
tile_get_index(tiledata)
매개변수
| 매개변수 | 타입 | 설명 |
|---|---|---|
| tiledata | Tile Data | 확인할 타일 데이터 |
반환값
- 실수형 값 (Real)
예제 코드
var lay_id = layer_get_id("Tiles_sky");
var map_id = layer_tilemap_get_id(lay_id);
var mx = tilemap_get_cell_x_at_pixel(map_id, mouse_x, mouse_y);
var my = tilemap_get_cell_y_at_pixel(map_id, mouse_x, mouse_y);
var data = tilemap_get(map_id, mx, my);
var ind = tile_get_index(data);
data = tile_set_index(data, irandom(23));
tilemap_set(map_id, data, mx, my);
위의 코드는 주어진 레이어에서 타일 맵 ID를 가져온 다음, 마우스 위치 아래의 셀에 대한 타일 데이터를 가져옵니다. 이 데이터는 타일 인덱스를 무작위 숫자로 설정하는 데 사용됩니다.
활용 예제
예제 1: 타일 인덱스 확인
var tile_data = tilemap_get(map_id, 0, 0);
var index = tile_get_index(tile_data);
show_message("타일 인덱스: " + string(index));
예제 2: 특정 타일 인덱스 변경
var tile_data = tilemap_get(map_id, 1, 1);
if (tile_get_index(tile_data) == 5) {
tile_data = tile_set_index(tile_data, 10);
tilemap_set(map_id, tile_data, 1, 1);
}
예제 3: 모든 타일 인덱스 출력
for (var x = 0; x < tilemap_get_width(map_id); x++) {
for (var y = 0; y < tilemap_get_height(map_id); y++) {
var tile_data = tilemap_get(map_id, x, y);
var index = tile_get_index(tile_data);
show_message("타일 인덱스 (" + string(x) + ", " + string(y) + "): " + string(index));
}
}
이러한 예제들은 tile_get_index 함수를 활용하여 타일 데이터를 조작하고, 타일 인덱스를 확인하거나 변경하는 방법을 보여줍니다.