스켈레톤 애니메이션에서의 첨부 세트
스켈레톤 애니메이션 스프라이트는 다른 이미지를 첨부하여 사용할 수 있습니다. 이러한 이미지는 애니메이션 프로그램에서 첨부 슬롯을 생성할 때 지정한 이름으로 추가되며, 현재 스프라이트의 애니메이션과 함께 그려집니다. 이 기능을 사용하면 특정 슬롯에 첨부를 설정할 수 있으며, 슬롯과 첨부의 이름(문자열)을 제공해야 합니다. 이러한 이름은 사용된 애니메이션 프로그램에 의해 정의되거나, 첨부를 생성할 때 skeleton_attachment_create()를 호출할 때 설정됩니다.
또한, 첨부로 스프라이트 인덱스를 전달할 수 있으며, 이 경우 해당 스프라이트가 사용됩니다. -1을 사용하면 슬롯에서 첨부를 제거할 수 있습니다. 스프라이트 인덱스를 인자로 전달하면, 스프라이트의 이름을 문자열로 사용하여 첨부 슬롯이 생성됩니다. 예를 들어, spr_sword를 사용하면 "spr_sword"라는 이름의 첨부 슬롯이 생성됩니다. 슬롯은 스프라이트의 첫 번째 이미지 인덱스(0)와 x, y 원점 오프셋을 사용하며, 스케일은 (1,1)로, 회전은 0으로 설정됩니다.
구문
skeleton_attachment_set(slot, attachment);
인자 설명
| 인자 이름 | 타입 | 설명 |
|---|---|---|
| slot | String | 첨부를 가져올 슬롯의 이름(문자열) |
| attachment | String 또는 Sprite Asset | 첨부 이미지의 이름(문자열 또는 sprite_index) |
반환값
- String
예제
if (skeleton_attachment_get("slot_leftHand") == "") {
skeleton_attachment_set("slot_leftHand", choose("sword", "spear", "knife"));
}
위 코드는 "slot_leftHand"라는 슬롯에 현재 할당된 첨부 이름을 확인하고, 빈 문자열이 반환되면 새로운 스프라이트를 첨부합니다.
활용 예제
- 다양한 무기 첨부
skeleton_attachment_set("slot_rightHand", "sword");
- 슬롯에서 첨부 제거
skeleton_attachment_set("slot_leftHand", -1);
- 랜덤 무기 선택
var weapon = choose("axe", "bow", "crossbow");
skeleton_attachment_set("slot_rightHand", weapon);
- 특정 조건에 따른 첨부 변경
if (player.health < 50) {
skeleton_attachment_set("slot_leftHand", "shield");
}
- 애니메이션 시작 시 첨부 설정
skeleton_attachment_set("slot_head", "helmet");
이와 같이 skeleton_attachment_set 함수를 활용하여 다양한 상황에서 스켈레톤 애니메이션의 첨부를 설정하고 관리할 수 있습니다.