tile_get_mirror 함수 설명
tile_get_mirror 함수는 주어진 타일 데이터 집합에서 타일이 미러링(mirroring) 되었는지를 확인하는 데 사용됩니다. 이 함수는 tilemap_get() 함수를 통해 얻은 타일 데이터를 입력받아, 해당 타일이 미러링된 경우 true를, 그렇지 않은 경우 false를 반환합니다.
문법
tile_get_mirror(tiledata)
인수 설명
| 인수명 | 타입 | 설명 |
|---|---|---|
| tiledata | Tile Data | 확인할 타일 데이터 |
반환값
- Boolean: 타일이 미러링된 경우
true, 그렇지 않은 경우false.
예제 코드
아래 코드는 주어진 레이어에서 타일 맵 ID를 가져오고, 마우스 아래의 타일의 x 및 y 셀 위치를 얻은 후, 해당 위치의 타일 데이터를 가져와 미러링 여부를 확인합니다. 이후 미러링 상태를 반전시켜 타일을 다시 설정합니다.
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 bool = !tile_get_mirror(data);
data = tile_set_mirror(data, bool);
tilemap_set(map_id, data, mx, my);
활용 예제
예제 1: 타일 미러링 상태 확인
타일이 미러링된 상태인지 확인하고, 그에 따라 다른 동작을 수행할 수 있습니다.
var tile_data = tilemap_get(map_id, mx, my);
if (tile_get_mirror(tile_data)) {
// 미러링된 경우의 처리
} else {
// 미러링되지 않은 경우의 처리
}
예제 2: 모든 타일 미러링 전환
타일 맵의 모든 타일을 순회하며 미러링 상태를 전환하는 코드입니다.
for (var x = 0; x < tilemap_get_width(map_id); x++) {
for (var y = 0; y < tilemap_get_height(map_id); y++) {
var data = tilemap_get(map_id, x, y);
data = tile_set_mirror(data, !tile_get_mirror(data));
tilemap_set(map_id, data, x, y);
}
}
예제 3: 특정 조건에 따라 미러링 적용
특정 조건을 만족할 때만 타일을 미러링하는 예제입니다.
if (some_condition) {
var data = tilemap_get(map_id, mx, my);
data = tile_set_mirror(data, true);
tilemap_set(map_id, data, mx, my);
}
이와 같은 방식으로 tile_get_mirror 함수를 활용하여 게임 내 타일의 미러링 상태를 효과적으로 관리할 수 있습니다.