타일 맵 설정 함수 설명
tilemap_set 함수는 타일 맵 요소의 특정 셀(격자 사각형)에 새로운 타일을 설정하는 데 사용됩니다. 이 함수를 사용하려면 타일 맵 요소 ID를 제공해야 하며, 이는 layer_tilemap_create()를 사용하여 타일 맵 요소를 생성할 때 또는 layer_tilemap_get_id() 함수를 사용할 때 얻을 수 있습니다. 이후 타일 맵 내에서 설정할 타일 데이터와 위치를 지정합니다.
타일 데이터는 tilemap_get() 함수를 사용하여 가져올 수 있으며, 이후 tile_functions를 사용하여 변경한 후 이 함수를 사용하여 셀을 설정할 수 있습니다. 또는 새로운 타일 데이터 값을 0으로 설정하여 빈 타일로 만들거나 사용하고자 하는 타일의 양수 인덱스 값을 사용할 수 있습니다. 이러한 값에 대해서도 tile_functions를 실행할 수 있습니다.
함수는 타일이 성공적으로 설정되면 true를 반환하고, 문제가 발생하여 설정되지 않으면 false를 반환합니다.
문법
tilemap_set(tilemap_element_id, tiledata, xcell, ycell)
인수 설명
| 인수 | 타입 | 설명 |
|---|---|---|
| tilemap_element_id | 타일 맵 요소 ID | 변경할 타일 맵 요소의 고유 ID 값 |
| tiledata | 타일 데이터 | 설정할 타일 데이터 |
| xcell | 실수 | x축을 따라 설정할 셀(격자) 위치 |
| ycell | 실수 | y축을 따라 설정할 셀(격자) 위치 |
반환 값
- Boolean: 타일이 성공적으로 설정되면
true, 문제가 발생하면false.
예제 코드
var lay_id = layer_get_id("Tiles_sky");
var map_id = layer_tilemap_get_id(lay_id);
var data = tilemap_get(map_id, 0, 0);
data = tile_set_flip(data, true);
tilemap_set(map_id, data, 0, 0);
위 코드는 "Tiles_Sky" 레이어의 타일 맵 ID를 가져온 후, (0, 0) 위치의 타일 데이터를 가져옵니다. 이 타일 데이터는 뒤집힌 후 다시 타일 맵에 설정됩니다.
활용 예제
- 타일 색상 변경
var lay_id = layer_get_id("Tiles_ground");
var map_id = layer_tilemap_get_id(lay_id);
var data = tilemap_get(map_id, 1, 1);
data = tile_set_color(data, c_red);
tilemap_set(map_id, data, 1, 1);
- 타일 회전
var lay_id = layer_get_id("Tiles_wall");
var map_id = layer_tilemap_get_id(lay_id);
var data = tilemap_get(map_id, 2, 2);
data = tile_set_rotate(data, 90);
tilemap_set(map_id, data, 2, 2);
- 빈 타일 설정
var lay_id = layer_get_id("Tiles_empty");
var map_id = layer_tilemap_get_id(lay_id);
tilemap_set(map_id, 0, 3, 3);
- 다양한 타일 설정
var lay_id = layer_get_id("Tiles_variety");
var map_id = layer_tilemap_get_id(lay_id);
tilemap_set(map_id, 1, 4, 4);
tilemap_set(map_id, 2, 4, 5);
tilemap_set(map_id, 3, 4, 6);
이와 같이 tilemap_set 함수를 활용하여 다양한 타일을 설정하고 조작할 수 있습니다.