tile_get_flip 함수 설명
tile_get_flip 함수는 주어진 타일 데이터에서 타일이 뒤집혔는지 여부를 확인하는 데 사용됩니다. 이 함수는 tilemap_get() 함수를 통해 가져온 타일 데이터를 입력으로 받아, 타일이 뒤집혔으면 true를, 그렇지 않으면 false를 반환합니다.
문법
tile_get_flip(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_flip(data);
data = tile_set_flip(data, bool);
tilemap_set(map_id, data, mx, my);
활용 예제
- 타일 뒤집기 토글: 사용자가 특정 키를 눌렀을 때 타일의 뒤집힌 상태를 전환하는 기능을 구현할 수 있습니다.
gml if (keyboard_check_pressed(vk_space)) { var data = tilemap_get(map_id, mx, my); data = tile_set_flip(data, !tile_get_flip(data)); tilemap_set(map_id, data, mx, my); } - 타일 상태 표시: 게임에서 타일의 상태를 시각적으로 표시하기 위해, 타일이 뒤집혔는지 여부에 따라 다른 색상으로 표시할 수 있습니다.
gml var data = tilemap_get(map_id, mx, my); if (tile_get_flip(data)) { draw_set_color(c_red); } else { draw_set_color(c_green); } draw_tile(mx, my); - 타일 맵 초기화: 게임 시작 시 모든 타일을 기본 상태로 설정하기 위해, 모든 타일을 순회하며 뒤집힌 상태를 초기화할 수 있습니다.
gml 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_flip(data, false); tilemap_set(map_id, data, x, y); } } - 타일 상태 저장: 게임의 진행 상황을 저장할 때, 각 타일의 뒤집힌 상태를 함께 저장하여 나중에 복원할 수 있습니다.
gml var tile_states = []; 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); tile_states[x + y * tilemap_get_width(map_id)] = tile_get_flip(data); } } - 타일 애니메이션: 특정 조건에 따라 타일의 뒤집힌 상태를 애니메이션 효과로 변경하여 게임의 시각적 요소를 강화할 수 있습니다.
gml if (condition_met) { var data = tilemap_get(map_id, mx, my); data = tile_set_flip(data, !tile_get_flip(data)); tilemap_set(map_id, data, mx, my); }
이와 같은 다양한 활용 예제를 통해 tile_get_flip 함수를 효과적으로 사용할 수 있습니다.