타일 맵에서 타일 설정하기
tilemap_set_at_pixel 함수는 타일 맵 요소의 특정 셀에 새로운 타일을 설정하는 데 사용됩니다. 이 함수는 방 내에서 변경할 타일의 실제 위치를 기반으로 합니다. 타일 맵 요소 ID를 제공하고, 설정할 타일 데이터와 방 내 위치를 지정합니다.
함수 설명
- 타일 맵 요소 ID:
layer_tilemap_create()를 사용하여 타일 맵 요소를 생성할 때 얻거나,layer_tilemap_get_id()함수를 사용하여 가져올 수 있습니다. - 타일 데이터:
tilemap_get_at_pixel()함수를 사용하여 타일 데이터를 가져온 후, 이를 변경하고 다시 설정할 수 있습니다. 새로운 타일 데이터 값은 0(빈 타일)으로 설정하거나 사용하고자 하는 타일의 양수 인덱스 값을 사용할 수 있습니다. - 반환 값: 타일이 성공적으로 설정되면
true를 반환하고, 문제가 발생하면false를 반환합니다.
함수 문법
tilemap_set_at_pixel(tilemap_element_id, tiledata, x, y)
매개변수 설명
| 매개변수 | 유형 | 설명 |
|---|---|---|
| tilemap_element_id | 타일 맵 요소 ID | 변경할 타일 맵 요소의 고유 ID 값 |
| tiledata | 타일 데이터 | 설정할 타일 데이터 |
| x | 실수 | 방 내의 x 위치 |
| y | 실수 | 방 내의 y 위치 |
활용 예제
예제 1: 타일 설정하기
var lay_id = layer_get_id("Tiles_sky");
var map_id = layer_tilemap_get_id(lay_id);
var data = tilemap_get_at_pixel(map_id, 4, 4);
data = tile_set_flip(data, true);
tilemap_set_at_pixel(map_id, data, 4, 4);
위 코드는 "Tiles_Sky" 레이어의 타일 맵 ID를 가져오고, (4, 4) 위치의 타일 데이터를 가져온 후, 해당 타일을 뒤집어서 다시 설정합니다.
예제 2: 빈 타일 설정하기
var lay_id = layer_get_id("Tiles_ground");
var map_id = layer_tilemap_get_id(lay_id);
tilemap_set_at_pixel(map_id, 0, 5, 5);
이 코드는 "Tiles_ground" 레이어의 타일 맵 ID를 가져오고, (5, 5) 위치에 빈 타일을 설정합니다.
예제 3: 타일 데이터 변경 후 설정하기
var lay_id = layer_get_id("Tiles_water");
var map_id = layer_tilemap_get_id(lay_id);
var data = tilemap_get_at_pixel(map_id, 2, 3);
data = tile_set_color(data, c_blue);
tilemap_set_at_pixel(map_id, data, 2, 3);
이 코드는 "Tiles_water" 레이어의 타일 맵 ID를 가져오고, (2, 3) 위치의 타일 데이터를 파란색으로 변경한 후 다시 설정합니다.