스켈레톤 애니메이션에서 첨부물 존재 여부 확인하기
skeleton_attachment_exists 함수는 주어진 이름의 사용자 정의 첨부물이 스켈레탈 애니메이션 스프라이트에 존재하는지를 반환합니다.
문법
skeleton_attachment_exists(name);
인수
| 인수 | 유형 | 설명 |
|---|---|---|
| name | String | 첨부물의 이름 |
반환값
| 반환 유형 | 설명 |
|---|---|
| Boolean | 첨부물이 존재하면 true, 아니면 false |
예제
다음 코드는 "LegAttachment"라는 이름의 첨부물이 현재 스켈레탈 애니메이션 스프라이트에 존재하는지를 확인합니다.
if (skeleton_attachment_exists("LegAttachment")) {
skeleton_attachment_replace("LegAttachment", spr_leg_modified, 0, 0, 0, 1, 1, 0);
} else {
skeleton_attachment_create("LegAttachment", spr_leg, 0, 0, 0, 1, 1, 0);
}
위의 코드에서, 첨부물이 존재하면 skeleton_attachment_replace를 사용하여 해당 첨부물을 교체합니다. 존재하지 않으면 skeleton_attachment_create를 호출하여 "LegAttachment"라는 새로운 첨부물을 생성합니다.
활용 예제
1. 여러 첨부물 확인 및 교체
if (skeleton_attachment_exists("ArmAttachment")) {
skeleton_attachment_replace("ArmAttachment", spr_arm_modified, 0, 0, 0, 1, 1, 0);
} else {
skeleton_attachment_create("ArmAttachment", spr_arm, 0, 0, 0, 1, 1, 0);
}
if (skeleton_attachment_exists("HeadAttachment")) {
skeleton_attachment_replace("HeadAttachment", spr_head_modified, 0, 0, 0, 1, 1, 0);
} else {
skeleton_attachment_create("HeadAttachment", spr_head, 0, 0, 0, 1, 1, 0);
}
2. 조건에 따른 첨부물 추가
if (!skeleton_attachment_exists("WeaponAttachment")) {
skeleton_attachment_create("WeaponAttachment", spr_weapon, 0, 0, 0, 1, 1, 0);
}
3. 애니메이션 상태에 따른 첨부물 변경
if (animation_state == "attacking") {
if (skeleton_attachment_exists("WeaponAttachment")) {
skeleton_attachment_replace("WeaponAttachment", spr_weapon_attack, 0, 0, 0, 1, 1, 0);
}
} else {
if (skeleton_attachment_exists("WeaponAttachment")) {
skeleton_attachment_replace("WeaponAttachment", spr_weapon_idle, 0, 0, 0, 1, 1, 0);
}
}
이와 같이 skeleton_attachment_exists 함수를 활용하여 스켈레톤 애니메이션의 첨부물 관리 및 동적 변경을 쉽게 할 수 있습니다.