tile_get_rotate 함수 설명
tile_get_rotate 함수는 주어진 타일 데이터 집합에서 타일이 90도 회전되었는지를 확인하는 데 사용됩니다. 이 함수는 tilemap_get() 함수를 통해 가져온 타일 데이터를 입력받아, 타일이 회전되었으면 true를, 그렇지 않으면 false를 반환합니다.
문법
tile_get_rotate(tiledata)
매개변수
| 매개변수 | 타입 | 설명 |
|---|---|---|
| tiledata | Tile Data | 확인할 타일 데이터 |
반환값
| 반환값 | 타입 | 설명 |
|---|---|---|
| Boolean | 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_rotate(data);
data = tile_set_rotate(data, bool);
tilemap_set(map_id, data, mx, my);
활용 예제
예제 1: 타일 회전 상태 확인
타일의 회전 상태를 확인하고, 그에 따라 다른 행동을 취하는 코드입니다.
var tile_data = tilemap_get(map_id, mx, my);
if (tile_get_rotate(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_rotate(data, !tile_get_rotate(data));
tilemap_set(map_id, data, x, y);
}
}
예제 3: 특정 조건에 따라 타일 회전
특정 조건이 충족되면 타일을 회전시키는 코드입니다.
if (some_condition) {
var data = tilemap_get(map_id, mx, my);
data = tile_set_rotate(data, !tile_get_rotate(data));
tilemap_set(map_id, data, mx, my);
}
이와 같은 방식으로 tile_get_rotate 함수를 활용하여 게임 내 타일의 회전 상태를 관리하고, 다양한 게임 메커니즘을 구현할 수 있습니다.