타일 데이터 가져오기 (Get Tile Data At Pixel)
이 문서에서는 타일 맵 레이어의 특정 위치에서 타일 데이터(타일의 인덱스 및 변형 값을 포함한)를 가져오는 방법에 대해 설명합니다.
개요
타일 데이터는 타일의 인덱스, 뒤집기, 미러링, 회전 값, 그리고 사용자 정의 타일 마스크를 반영하는 값입니다. 이 액션을 사용하면 레이어 이름(문자열)과 타일 데이터의 x, y 좌표를 제공하여 해당 위치에 있는 타일 맵 셀의 데이터를 가져올 수 있습니다.
예를 들어, 타일 세트의 타일 크기가 16x16 픽셀이라면 타일 맵 레이어는 16x16 픽셀 셀에 타일을 저장합니다. 따라서 이 액션을 (8, 8) 위치에 사용하면 (0, 0) 위치의 타일 데이터가 반환됩니다.
주요 사항
- 선택한 레이어는 반드시 방 편집기에서 "타일 맵 레이어"로 정의되어야 하며, 그렇지 않으면 오류가 발생할 수 있습니다.
- 반환된 값은 기존에 생성된 변수에 저장할 수 있으며, 새 임시 변수(“Temp” 체크박스 체크 시)로 저장할 수도 있습니다.
액션 구문 및 인수
액션 구문
get_tile_data_at_pixel(layer, x, y);
인수
| 인수 | 설명 |
|---|---|
| Layer | 타겟으로 할 타일 맵 레이어 |
| X | 타일 데이터의 수평 축(x) 위치 |
| Y | 타일 데이터의 수직 축(y) 위치 |
예제
아래의 코드 블록은 마우스 클릭을 감지하고, 클릭된 위치에 해당하는 타일 데이터를 가져와서 수정한 후, 다시 타일 맵 레이어로 반환하여 해당 셀의 타일을 회전시키는 예제입니다.
if (mouse_check_button_pressed(mb_left)) {
var tileData = get_tile_data_at_pixel("layer_name", mouse_x, mouse_y);
// 타일 데이터 수정하기
tileData[flip] = !tileData[flip]; // 예: 플립 값 토글
set_tile_data_in_cell("layer_name", mouse_x, mouse_y, tileData);
}
활용 및 응용 예제
- 타일 회전 구현
- 타일을 클릭하면 회전시키는 게임에 유용합니다.
- 게임 환경 변경
- 플레이어가 특정 타일을 밟을 때 환경을 변화시킬 수 있습니다.
- 레벨 설계 툴
- 개발자들이 레벨을 쉽게 수정할 수 있도록 하는 도구를 만들 수 있습니다.
- 타일 애니메이션 효과
- 특정 이벤트에 반응하여 타일의 애니메이션 효과를 적용하는 데 사용할 수 있습니다.
참고 링크
- GML 타일 맵 함수 섹션
- YoYo Games © 2023 All Rights Reserved
이 문서를 통해 타일 데이터 작업이 쉬워지길 바랍니다!