타일 데이터 플립 설정 함수
tile_set_fliptile_set_flip 함수는 주어진 타일 데이터 세트를 플립할지 여부를 설정하는 데 사용됩니다. 이 함수는 tilemap_get() 함수를 사용하여 가져온 타일 데이터를 입력받고, 플립 인수를 true로 설정하면 타일이 플립되고, false로 설정하면 기본 상태로 유지됩니다. 이 함수는 수정된 타일 데이터 세트를 반환하며, 이후 tilemap_set() 함수를 사용하여 적용할 수 있습니다.
함수 문법
tile_set_flip(tiledata, flip)
인수 설명
| 인수 | 유형 | 설명 |
|---|---|---|
| tiledata | Tile Data | 설정할 타일 데이터 |
| flip | Boolean | true로 설정하면 플립, false로 설정하면 그대로 유지 |
반환값
- 수정된 타일 데이터
활용 예제
다음은 타일을 플립하는 예제 코드입니다:
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);
위 코드는 주어진 레이어에서 타일 맵 ID를 가져오고, 마우스 아래의 타일에 대한 x 및 y 셀 위치를 가져옵니다. 이 위치를 사용하여 타일 데이터를 가져오고, 플립 상태를 변경한 후 다시 타일을 설정합니다.
추가 활용 예제
- 타일 플립 상태 토글
- 사용자가 특정 키를 눌렀을 때 타일의 플립 상태를 토글하는 코드 예제:
gml if (keyboard_check_pressed(vk_space)) { 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 for (var x = start_x; x < end_x; x++) { for (var y = start_y; y < end_y; y++) { var data = tilemap_get(map_id, x, y); var bool = !tile_get_flip(data); data = tile_set_flip(data, bool); tilemap_set(map_id, data, x, y); } } - 타일 플립 상태 저장
- 타일의 플립 상태를 저장하고 나중에 복원하는 코드 예제:
gml var saved_flip_state = tile_get_flip(data); // ... 타일 플립 작업 ... tile_set_flip(data, saved_flip_state);
이와 같은 방식으로 tile_set_flip 함수를 활용하여 다양한 타일 조작을 수행할 수 있습니다.