스켈레톤 애니메이션에서의 첨부물 생성
스켈레톤 애니메이션 스프라이트를 생성할 때, 첨부 슬롯과 그에 들어갈 첨부물을 지정할 수 있습니다. 첨부물은 애니메이션과는 별개의 이미지(스프라이트)로, 첨부된 뼈대와 함께 움직입니다. 일반적으로는 애니메이션 프로그램(Spine)에서 이러한 첨부물을 지정하지만, 이 기능을 사용하면 게임의 스프라이트 자산을 이용해 런타임에서 직접 생성할 수 있습니다.
함수 설명
이 함수는 첨부물의 이름(문자열)을 요구하며, 사용할 스프라이트 인덱스와 이미지 인덱스를 설정해야 합니다. 또한, x 및 y 원점(스프라이트 속성에서 정의된 것과 다를 수 있음)을 설정할 수 있으며, 첨부 시 이미지에 적용할 변환 및 이미지와 혼합할 색상과 알파(투명도) 값도 설정할 수 있습니다. 첨부물이 성공적으로 생성되면 함수는 1을 반환하고, 실패하면 -1을 반환합니다(유효하지 않은 스프라이트 인덱스를 제공하거나 기본 스프라이트가 Spine 스프라이트가 아닐 경우).
문법
skeleton_attachment_create_colour(name, sprite, ind, xorigin, yorigin, xscale, yscale, rot, colour, alpha);
인수 설명
| 인수 | 타입 | 설명 |
|---|---|---|
| name | String | 생성할 첨부물의 이름(문자열) |
| sprite | Sprite Asset | 첨부 이미지의 스프라이트 인덱스 |
| ind | Real | 첨부 이미지의 이미지 인덱스 |
| xorigin | Real | 사용되는 이미지의 x 원점 |
| yorigin | Real | 사용되는 이미지의 y 원점 |
| xscale | Real | 이미지의 수평 스케일(1 = 일반, 0.5 = 절반 등) |
| yscale | Real | 이미지의 수직 스케일(1 = 일반, 0.5 = 절반 등) |
| rot | Real | 이미지의 회전(0 = 일반, 90 = 90° 반시계 방향) |
| colour | Colour | 사용할 색상 값(상수, 정수 또는 16진수 값) |
| alpha | Real | 사용할 알파 값(0에서 1까지) |
반환값
- Real (성공 시 1, 실패 시 -1)
활용 예제
아래는 skeleton_attachment_create_colour 함수를 사용하는 몇 가지 예제입니다.
skeleton_attachment_create_colour("sword", spr_Weapons, 0, 0, 80, 1, 1, 90, c_red, 1);
skeleton_attachment_create_colour("knife", spr_Weapons, 1, 0, 45, 1, 1, 90, c_yellow, 1);
skeleton_attachment_create_colour("crossbow", spr_Weapons, 0, 10, 30, 1, 1, 0, c_white, 0.5);
skeleton_attachment_set("slot_leftHand", choose("sword", "knife", "crossbow"));
위의 코드는 "slot_leftHand"라는 슬롯에 현재 할당된 첨부물 이름을 확인하고, 빈 문자열이 반환되면 새로운 스프라이트를 첨부합니다.