tilemap_get_frame 함수 설명
타일은 애니메이션이 가능하기 때문에 현재 어떤 프레임이 그려지고 있는지를 아는 것이 유용할 수 있습니다. 이 함수는 주어진 타일 맵의 현재 프레임 인덱스를 가져오는 데 사용됩니다. 타일 맵 요소 ID를 제공하면 해당 타일 맵의 프레임 인덱스를 반환합니다.
문법
tilemap_get_frame(tilemap_element_id)
인자 설명
| 인자 이름 | 타입 | 설명 |
|---|---|---|
| tilemap_element_id | 타일 맵 요소 ID | 프레임 인덱스를 가져올 타일 맵 요소의 고유 ID 값입니다. |
반환값
실수(0 이상, 최대 애니메이션 프레임 수 미만)
예제
다음 코드는 주어진 레이어의 타일 맵에 대한 현재 애니메이션 프레임을 확인하고, 반환 값에 따라 전역 변수를 설정합니다.
var lay_id = layer_get_id("Tiles_Traps");
var map_id = layer_tilemap_get_id(lay_id);
if (tilemap_get_frame(map_id) >= 2 && tilemap_get_frame(map_id) < 4) {
global.activate = true;
} else {
global.activate = false;
}
활용 예제
- 타일 애니메이션 제어
특정 프레임에서 타일의 애니메이션을 제어하여 게임 내 이벤트를 발생시킬 수 있습니다.gml var current_frame = tilemap_get_frame(map_id); if (current_frame == 1) { // 특정 행동 수행 } - 타일 상태 변경
타일의 현재 프레임에 따라 타일의 상태를 변경할 수 있습니다.gml if (tilemap_get_frame(map_id) == 3) { // 타일 상태를 변경 } - UI 업데이트
타일의 애니메이션 상태에 따라 UI 요소를 업데이트할 수 있습니다.gml var frame = tilemap_get_frame(map_id); if (frame >= 0 && frame < 2) { // UI 업데이트 } - 게임 로직 처리
애니메이션 프레임에 따라 게임 로직을 처리할 수 있습니다.gml switch (tilemap_get_frame(map_id)) { case 0: // 로직 처리 break; case 1: // 다른 로직 처리 break; } - 타일 애니메이션 종료 감지
애니메이션이 끝났는지 감지하여 특정 행동을 수행할 수 있습니다.gml if (tilemap_get_frame(map_id) == max_frames - 1) { // 애니메이션 종료 처리 }