skeleton_get_minmax 함수 설명
skeleton_get_minmax 함수는 스켈레톤 애니메이션 스프라이트에 할당된 모든 개별 바운딩 박스의 총 바운딩 박스 값을 포함하는 배열을 반환합니다. 반환되는 배열은 4개의 요소로 구성됩니다:
| 인덱스 | 설명 |
|---|---|
| [0] | 모든 바운딩 박스의 최소 x 위치 |
| [1] | 모든 바운딩 박스의 최소 y 위치 |
| [2] | 모든 바운딩 박스의 최대 x 위치 |
| [3] | 모든 바운딩 박스의 최대 y 위치 |
문법
skeleton_get_minmax();
반환값
- 배열(4 요소: xMin, yMin, xMax, yMax)
활용 예제
아래 코드는 애니메이션의 현재 프레임을 확인하고, 스프라이트의 총 바운딩 박스 중앙에서 입자를 생성하는 예제입니다.
var frame = skeleton_animation_get_frame(0);
if (frame > 0 && frame < 2) {
var box = skeleton_get_minmax();
var ww = (box[2] - box[0]) / 2;
var hh = (box[3] - box[1]) / 2;
part_particles_create(global.p_sys, box[0] + ww, box[1] + hh, global.Stars, 10);
}
추가 활용 예제
- 스프라이트의 위치 조정
gml var box = skeleton_get_minmax(); x = box[0]; // 최소 x 위치로 이동 y = box[1]; // 최소 y 위치로 이동 - 스프라이트의 크기 조정
gml var box = skeleton_get_minmax(); var width = box[2] - box[0]; var height = box[3] - box[1]; image_xscale = width / original_width; // 원래 너비에 비례하여 크기 조정 image_yscale = height / original_height; // 원래 높이에 비례하여 크기 조정 - 충돌 감지
gml var box = skeleton_get_minmax(); if (x > box[0] && x < box[2] && y > box[1] && y < box[3]) { // 충돌 발생 }
이와 같이 skeleton_get_minmax 함수를 활용하여 스프라이트의 바운딩 박스를 기반으로 다양한 작업을 수행할 수 있습니다.