자산 및 태그 관리
이 문서는 자산 브라우저에서 정의된 자산의 정보와 태그를 가져오기 위한 함수들에 대해 설명합니다. 태그는 자산 브라우저와 실제 게임 코드에서 모두 매우 강력한 도구입니다. 태그는 런타임에 읽고 생성할 수 있어, 게임이 실행 중일 때 자산을 필터링하거나 조건부 검사를 수행하거나 객체 기반 시스템 외부에서 "부모" 타입 시스템을 만드는 데 추가적인 방법을 제공합니다.
함수 목록
| 함수 이름 | 설명 |
|---|---|
asset_get_index |
자산의 인덱스를 반환합니다. |
asset_get_type |
자산의 유형을 반환합니다. |
tags |
태그 관련 기능 그룹 |
tag_get_asset_id |
태그와 관련된 자산의 ID를 반환합니다. |
tag_get_assets |
특정 태그가 할당된 모든 자산을 반환합니다. |
asset_get_ids |
자산 ID 목록을 반환합니다. |
asset_get_tags |
자산에 할당된 태그 목록을 반환합니다. |
asset_add_tags |
자산에 태그를 추가합니다. |
asset_remove_tags |
자산에서 태그를 제거합니다. |
asset_has_tags |
자산에 태그가 있는지 확인합니다. |
asset_has_any_tag |
자산이 하나 이상의 태그를 가지고 있는지 확인합니다. |
asset_clear_tags |
자산의 모든 태그를 제거합니다. |
활용 및 응용 예제
자산의 인덱스와 유형 확인하기
다음 코드는 특정 자산의 인덱스와 유형을 가져오는 예제입니다.
var asset_index = asset_get_index("myAsset");
var asset_type = asset_get_type(asset_index);
show_message("자산 인덱스: " + string(asset_index) + ", 자산 유형: " + string(asset_type));
태그 추가 및 확인하기
자산에 태그를 추가하고 해당 태그가 있는지 확인하는 방법입니다.
var asset_id = asset_get_index("myAsset");
asset_add_tags(asset_id, "enemy");
if (asset_has_tags(asset_id)) {
show_message("자산에 태그가 있습니다.");
}
태그를 사용한 자산 필터링
태그를 사용하여 특정 조건에 맞는 자산을 필터링하는 예제입니다.
var enemy_assets = tag_get_assets("enemy");
for (var i = 0; i < array_length(enemy_assets); i++) {
var enemy = enemy_assets[i];
// 적 자산마다 수행할 작업
show_message("적 자산: " + enemy);
}
위의 예제들은 자산의 태그를 효과적으로 관리하고 활용하는 방법을 보여줍니다. 태그를 통해 자산을 쉽게 필터링하고, 조건부 로직을 구현할 수 있습니다.