728x90
GAME MAKER 강좌
KAYAN
◈ 레이어에서 타일맵 찾기
일반적으로 룸의 타일레이어에 타일셋이 지정되어있는 경우 아래의 함수들로 타일맵의 ID를 찾을 수 있습니다.
◎ layer_get_id(layer_name) : 레이어 ID 반환
◎ layer_tilemap_get_id(layer_id) : 타일맵 ID 반환
var layer_id = layer_get_id("Tiles_1"); var map_id = layer_tilemap_get_id(layer_id); |
다만, 룸의 타일레이어에 타일셋이 지정되지 않은 경우나, 새 레이어에서는 타일맵을 찾지 못하는 경우가 있습니다.
레이어에 생성된 타일맵을 알 수 없을 때, 타일맵을 찾을 경우 아래와 같이 설정하면 레이어에 생성된
타일맵의 ID를 찾을 수 있습니다.
//global.tile_layer 에 레이어 ID를 할당했을 때 단일 타일맵을 찾는 경우 var a, _id, i; a = layer_get_all_elements(global.tile_layer); _id = -1; for ( i = 0; i < array_length(a); i++;) { if layer_get_element_type(a[i]) == layerelementtype_tilemap //요소가 타일맵일 때 ID를 저장 { _id = a[i]; break; } } map_id=_id; //찾은 맵 ID를 map_id변수에 할당하여 사용함 |
여러개의 타일 맵을 찾을 경우 아래와 같이 배열에 타일맵 ID를 저장하여 사용할 수도 있습니다.
//레이어에 존재하는 모든 타일맵을 찾아 maplist 변수에 배열로 저장할 경우 var a, maplist, count,i; a = layer_get_all_elements(global.tile_layer); maplist[0] = -1; count = 0; for ( i = 0; i < array_length(a); i++;) { if layer_get_element_type(a[i]) == layerelementtype_tilemap//요소가 타일맵일 때 ID를 저장 { maplist[count] = a[i]; count + = 1; } } //이후 타일맵 ID를 저장한 maplist 배열을 사용하면 됩니다. |
참고로 배열의 크기는 아래의 함수를 사용하여 찾을 수 있습니다.
◎ array_length(variable)
예)
//타일맵 ID를 저장한 maplist 배열을 사용할 경우. for(i = 0; i < array_length(maplist); i++;) { if maplist[i] >= 0{ /*이벤트*/ } } |
(▲ 타일 배치)
- 끝 -
300x250
'GameMaker강좌[GMS2] > GMS2기초강좌' 카테고리의 다른 글
[게임메이커 강좌-기초][GMS2] 게임 저장 : ini 저장 (0) | 2021.02.20 |
---|---|
[게임메이커 강좌-기초][GMS2] 게임 저장 : 기본 기능 (0) | 2021.02.20 |
[게임메이커 강좌-기초][GMS2] 코드로 타일 배치-2 : 새 레이어 사용 (0) | 2021.02.15 |
[게임메이커 강좌-기초][GMS2] 코드로 타일 배치-1 : 기본 타일 레이어 사용 (0) | 2021.02.15 |
[게임메이커 강좌-기초][GMS2] 가상 키-2-가상 키 구성 (0) | 2021.01.17 |
댓글