타일 데이터 설정 - 픽셀 단위
이 문서에서는 특정 위치에 있는 타일 맵 레이어의 타일 데이터를 설정하는 방법에 대해 설명합니다. 타일 데이터는 타일의 인덱스와 함께 플립, 미러, 회전 값 및 사용한 사용자 정의 타일 마스크를 반영하는 값입니다.
기본 개념
이 작업을 수행할 때는 먼저 타겟 레이어의 이름(문자열)을 제공하고, 타일 데이터를 설정할 x, y 축의 위치를 지정해야 합니다. 타일 데이터는 주어진 위치가 있는 타일 맵 "셀"에 설정됩니다. 예를 들어, 타일 세트가 16x16 픽셀이라면, 타일 맵 레이어는 16x16 픽셀 크기의 셀에 타일을 보유하므로, (8, 8) 위치를 타겟으로 하면 타일 맵의 셀 (0, 0)의 타일을 변경하게 됩니다.
타일 데이터의 최종 인자는 설정할 데이터를 포함합니다. 일반적으로 타일 맵 셀의 타일 데이터를 Get Tile Data At Pixel 액션을 사용하여 검색한 후, Set Tile Data Transform 액션을 사용하여 조작하고, 마지막으로 이 액션을 사용하여 다시 설정합니다.
액션 문법
Set Tile Data At Pixel(layer, x, y, data);
인자 설명
| 인자 | 설명 |
|---|---|
| Layer | 타겟할 타일 맵이 있는 레이어 |
| X | 타일 데이터 설정을 위한 수평(X) 축의 위치 |
| Y | 타일 데이터 설정을 위한 수직(Y) 축의 위치 |
| Data | 해당 위치의 셀을 설정하는 타일 데이터 |
예제
다음 코드 블록은 마우스 클릭을 테스트하고, 클릭이 발생하면 마우스 위치에 해당하는 셀의 타일 데이터를 검색하여 이 데이터를 수정한 후, 타일 맵 레이어에 다시 반영합니다.
if (mouse_check_button_pressed(mb_left)) {
var mouse_x_pos = mouse_x;
var mouse_y_pos = mouse_y;
// 현재 타일 데이터 가져오기
var tile_data = Get Tile Data At Pixel("layer_name", mouse_x_pos, mouse_y_pos);
// 타일 데이터 수정 (예: 회전)
tile_data = Set Tile Data Transform(tile_data, rotation: 90);
// 수정된 타일 데이터 설정
Set Tile Data At Pixel("layer_name", mouse_x_pos, mouse_y_pos, tile_data);
}
타일 데이터 활용 및 응용
- 타일 생성기: 사용자가 특정 위치를 클릭하면 그 자리에 랜덤 타일을 배치하는 게임 구현.
- 게임 맵 변형: 플레이어의 행동에 따라 맵 타일을 변형시키는 메커니즘.
- UI와 연동: UI 클릭과 연동하여 사용자 정의 타일을 손쉽게 배치하거나 제거.
- 에디터 도구: 개발자가 직접 타일을 손쉽게 배치할 수 있는 수준 높은 타일 편집 도구 제작.
- 애니메이션 효과: 시간에 따라 타일의 회전이나 플립 효과를 주어 생동감을 부여하는 시스템.
이러한 예제를 통해 게임 내 다양한 타일 효과와 게임성을 높일 수 있습니다. 타일 맵 기능을 적극적으로 활용하여 보다 창의적이고 매력적인 게임을 개발해보세요!