타일 데이터 변환 확인하기
이 문서에서는 타일의 데이터가 세 가지 방법(뒤집기, 거울 보기, 회전)으로 변환되었는지 여부를 확인하는 방법을 설명합니다. 타일 데이터는 타일의 인덱스와 적용된 변환을 반영하는 값입니다. 이 액션을 사용하기 전에 일반적으로 Get Tile Data In Cell 또는 Get Tile Data At Pixel을 사용하여 타일 데이터를 먼저 얻는 것이 좋습니다.
액션은 선택한 변환이 타일 데이터에 적용되었으면 true를 반환하고, 그렇지 않다면 false를 반환합니다. 반환된 값은 사전에 생성된 타겟 변수에 저장되거나 Temp 체크박스를 선택하면 새로운 임시 변수로 저장될 수 있습니다.
액션 문법
var result = get_tile_data_transform(tile, transform);
인수 설명
| 인수 | 설명 |
|---|---|
| tile | 변환을 확인할 타일 데이터입니다. |
| transform | 확인하려는 변환 유형입니다. |
예제
아래의 코드 블록은 마우스 위치에 있는 타일 데이터를 가져와 회전 변환이 적용되었는지 확인합니다. 회전 변환이 적용된 경우, 해당 변환을 초기화하고 다시 해당 위치에 타일 데이터를 설정합니다.
var mouse_tile = get_tile_data_at_pixel(mouse_x, mouse_y);
var has_rotated = get_tile_data_transform(mouse_tile, transform_rotate);
if (has_rotated) {
// 타일 회전 변환 초기화
reset_tile_transform(mouse_tile);
// 타일 데이터 다시 설정
set_tile_index_at_pixel(mouse_x, mouse_y, mouse_tile);
}
다양한 활용 및 응용 예제
- 게임 인터랙션:
- 타일이 회전된 경우, 플레이어가 그 타일 위에 섰을 때 특별한 효과를 줄 수 있습니다.
if (get_tile_data_transform(mouse_tile, transform_rotate)) {
// 특별 효과를 적용
apply_special_effect();
}
- 레벨 에디터:
- 레벨 에디터에서 타일을 변경할 때, 원래의 변환 정보를 유지하여 미리보기 기능을 구현할 수 있습니다.
var preview_tile = get_tile_data_in_cell(preview_cell);
if (get_tile_data_transform(preview_tile, transform_flip_horizontal)) {
// 미리보기에서 수평 반전 상태 나타내기
show_preview_flip_icon();
}
- 타일 맵 로딩 시:
- 타일 맵을 로드할 때 각 타일의 상태를 확인하여 필요한 초기 변환을 적용합니다.
for (var i = 0; i < total_tiles; i++) {
var current_tile = get_tile_data_in_cell(i);
if (get_tile_data_transform(current_tile, transform_mirror_vertical)) {
// 초기화 시 미러 상태로 변환
set_tile_transform(current_tile, transform_mirror_vertical);
}
}
이 문서는 타일 데이터를 변환하고 확인하는 방법에 대해 설명하였으며, 다양한 예제를 통해 여러 상황에서 활용할 수 있는 방법을 제시하였습니다. 추가적인 정보는 GML 타일 맵 함수 관련 문서를 참조해 주세요.