스켈레톤 스킨 설정 함수
skeleton_skin_set 함수는 스켈레탈 애니메이션 스프라이트를 그릴 때 사용할 스킨을 설정합니다. 스켈레탈 애니메이션 스프라이트는 다양한 텍스처(스킨이라고 함)를 사용하여 그릴 수 있어, 하나의 애니메이션을 여러 용도로 사용할 수 있습니다. 예를 들어, 일반적인 걷기 애니메이션을 가지고 있다면, NPC 캐릭터나 적 캐릭터 등에서 스킨만 변경하여 사용할 수 있습니다.
스킨은 애니메이션 프로그램에서 미리 생성하고 이름을 지정해야 하며, 이 이름은 함수에 문자열로 전달되어 스프라이트가 그릴 때 해당 스킨을 사용하도록 설정됩니다. 또한, skeleton_skin_create 함수를 사용하여 코드로 스킨을 추가할 수도 있습니다. 이 경우, 함수가 반환하는 구조체를 전달해야 합니다.
문법
skeleton_skin_set(skin);
인수
| 인수 | 유형 | 설명 |
|---|---|---|
| skin | String 또는 Skeleton Skin Struct | 애니메이션 프로그램에서 정의된 스킨의 이름(문자열) 또는 skeleton_skin_create를 사용하여 추가된 스킨의 구조체 |
반환값
- N/A
예제
if (skeleton_skin_get() == "skin_Enemy1") {
skeleton_skin_set(choose("skin_Enemy1", "skin_Enemy2", "skin_Enemy3"));
}
위 코드는 현재 애니메이션에 할당된 스킨을 확인하고, 만약 "skin_Enemy1"이라면 세 가지 옵션 중 하나에서 새로운 스킨을 선택하여 설정합니다.
활용 예제
1. 다양한 캐릭터 스킨 적용
if (character_type == "NPC") {
skeleton_skin_set("skin_NPC");
} else if (character_type == "Enemy") {
skeleton_skin_set("skin_Enemy");
}
2. 스킨 변경에 따른 애니메이션 효과
if (player_health < 50) {
skeleton_skin_set("skin_Injured");
} else {
skeleton_skin_set("skin_Healthy");
}
3. 랜덤 스킨 선택
var random_skin = choose("skin_Enemy1", "skin_Enemy2", "skin_Enemy3");
skeleton_skin_set(random_skin);
4. 게임 이벤트에 따른 스킨 변경
if (event_triggered) {
skeleton_skin_set("skin_EventTriggered");
}
5. 스킨 리스트 가져오기
var skin_list = skeleton_skin_list();
for (var i = 0; i < array_length(skin_list); i++) {
show_debug_message(skin_list[i]);
}
이와 같이 skeleton_skin_set 함수를 활용하여 다양한 스킨을 설정하고, 게임 내에서 캐릭터의 외형을 동적으로 변경할 수 있습니다.