타일맵 타일셋 변경하기
이 문서에서는 특정 타일맵 요소에 할당된 타일셋 자산을 변경하는 방법에 대해 설명합니다. 타일맵 요소 ID를 제공하고, 새로운 타일셋 인덱스를 지정하면 해당 타일맵에 새로운 스프라이트가 적용됩니다.
문법
tilemap_tileset(tilemap_element_id, tileset_index);
인수 설명
| 인수 | 타입 | 설명 |
|---|---|---|
| tilemap_element_id | 타일맵 요소 ID | 변경할 타일맵 요소의 고유 ID 값 |
| tileset_index | 타일셋 자산 | 사용할 새로운 타일셋 인덱스 |
반환값
- N/A
예제 코드
다음은 타일맵의 현재 타일셋을 확인하고, 필요에 따라 타일셋을 변경하는 코드입니다.
var lay_id = layer_get_id("Tiles_trees");
var tile_id = layer_tilemap_get_id(lay_id);
if (tilemap_get_tileset(tile_id) != ts_Nighttime) {
tilemap_tileset(tile_id, ts_Nighttime);
}
위의 코드는 "Tiles_trees" 레이어에 할당된 타일맵의 현재 타일셋을 확인하고, 만약 현재 타일셋이 "ts_Nighttime"이 아니라면 해당 타일셋을 타일맵에 할당합니다.
활용 예제
예제 1: 여러 타일셋 적용하기
var lay_id = layer_get_id("Tiles_ground");
var tile_id = layer_tilemap_get_id(lay_id);
tilemap_tileset(tile_id, ts_Ground);
예제 2: 조건에 따라 타일셋 변경하기
var lay_id = layer_get_id("Tiles_buildings");
var tile_id = layer_tilemap_get_id(lay_id);
if (some_condition) {
tilemap_tileset(tile_id, ts_Buildings);
} else {
tilemap_tileset(tile_id, ts_AlternateBuildings);
}
예제 3: 게임 상태에 따른 타일셋 변경하기
var lay_id = layer_get_id("Tiles_background");
var tile_id = layer_tilemap_get_id(lay_id);
if (game_state == "night") {
tilemap_tileset(tile_id, ts_NightBackground);
} else {
tilemap_tileset(tile_id, ts_DayBackground);
}
이러한 예제들은 타일셋을 동적으로 변경하여 게임의 비주얼을 다양하게 표현하는 데 유용합니다.