타일 세트 정보 가져오기
tileset_get_info 함수는 타일 세트에 대한 정보를 포함하는 구조체를 반환합니다. 반환된 구조체는 다음과 같은 변수를 포함합니다.
| 변수 이름 | 데이터 타입 | 설명 |
|---|---|---|
| width | Real | 전체 타일 세트 텍스처의 너비 (픽셀 단위) |
| height | Real | 전체 타일 세트 텍스처의 높이 (픽셀 단위) |
| texture | Real | 텍스처 ID |
| tile_width | Real | 단일 타일의 너비 (픽셀 단위) |
| tile_height | Real | 단일 타일의 높이 (픽셀 단위) |
| tile_horizontal_separator | Real | 각 타일의 양쪽에 있는 픽셀 수 (두 타일 사이의 공간) |
| tile_vertical_separator | Real | 각 타일의 위아래에 있는 픽셀 수 (두 타일 사이의 공간) |
| tile_columns | Real | 타일 세트의 각 행에 있는 열의 수 |
| tile_count | Real | 타일의 총 개수 |
| frame_count | Real | 애니메이션당 프레임의 수 |
| frame_length_ms | int64 | 프레임 애니메이션의 밀리초 수 |
| frames | Struct | 모든 애니메이션 프레임을 포함하는 구조체 |
문법
tileset_get_info(index);
인수
| 인수 이름 | 타입 | 설명 |
|---|---|---|
| index | Tile Set Asset | 정보를 가져올 타일 세트 |
반환값
- 유효한 타일 세트 자산의 경우: 타일 세트 정보 구조체
- 유효하지 않은 타일 세트가 제공된 경우: undefined
활용 예제
예제 1: 타일 세트 정보 출력
var _info = tileset_get_info(ts_Forest);
show_debug_message(_info);
위 코드는 ts_Forest라는 기존 타일 세트에 대한 정보를 가져와 _info라는 임시 변수에 저장한 후, 이를 디버그 메시지로 출력합니다.
예제 2: 타일의 좌상단 좌표 찾기
// tnumber는 찾고자 하는 타일 번호입니다.
var _tnumber = 7;
var _ts_info = tileset_get_info(ts_Forest);
if (is_undefined(_ts_info) == false) {
var _twidth = _ts_info.tile_width + 2 * _ts_info.tile_horizontal_separator;
var _theight = _ts_info.tile_height + 2 * _ts_info.tile_vertical_separator;
var _tile_x = (_tnumber mod _ts_info.tile_columns) * _twidth;
var _tile_y = (_tnumber div _ts_info.tile_columns) * _theight;
show_debug_message("타일 인덱스 {0}의 좌상단 좌표는: ({1}, {2})", _tnumber, _tile_x, _tile_y);
} else {
show_debug_message("함수에 유효한 타일 세트가 제공되지 않았습니다.");
}
위 코드는 주어진 타일 인덱스의 좌상단 좌표를 찾습니다. 먼저 타일의 인덱스를 정의하고 이를 _tnumber라는 임시 변수에 저장합니다. 그런 다음 tileset_get_info를 호출하여 기존 타일 세트 ts_Forest에 대한 정보를 가져오고, 반환된 구조체를 _ts_info에 저장합니다. 이후 if 문을 사용하여 변수가 유효한 구조체인지 확인합니다. 유효하다면, 타일의 총 너비와 높이를 계산하고, 타일 인덱스에 따라 좌표를 계산하여 디버그 메시지로 출력합니다. 유효하지 않은 경우에는 다른 디버그 메시지를 출력합니다.