sprite_get_bbox_mode 함수 설명
sprite_get_bbox_mode 함수는 주어진 스프라이트의 경계 상자(bounding box) 계산 모드를 반환합니다. 이 함수는 스프라이트 인덱스를 입력받아 해당 스프라이트의 경계 상자 모드를 확인할 수 있습니다.
문법
sprite_get_bbox_mode(ind);
인수 설명
| 인수 | 타입 | 설명 |
|---|---|---|
| ind | 정수 | 확인할 스프라이트의 인덱스 |
반환값
| 반환값 | 설명 |
|---|---|
| bboxmode_automatic | 자동 - 스프라이트의 허용 오차 설정에 따라 경계 상자가 자동으로 계산됩니다. |
| bboxmode_fullimage | 전체 이미지 - 경계 상자가 스프라이트의 전체 너비와 높이를 사용하도록 설정됩니다. 허용 오차 및 "빈" 픽셀과는 관계없이 적용됩니다. |
| bboxmode_manual | 수동 - 경계 상자가 사용자 정의 값으로 수동 설정됩니다 (스프라이트 편집기에서 또는 sprite_set_bbox() 함수를 사용하여 설정). |
활용 예제
아래는 sprite_get_bbox_mode 함수를 활용한 몇 가지 예제입니다.
예제 1: 경계 상자 모드 확인 및 설정
if (sprite_get_bbox_mode(sprite_index) != bboxmode_automatic) {
sprite_set_bbox_mode(sprite_index, bboxmode_automatic);
}
이 코드는 현재 스프라이트의 경계 상자 모드를 확인하고, 만약 자동 모드가 아닐 경우 자동 모드로 설정합니다.
예제 2: 모든 스프라이트의 경계 상자 모드 변경
for (var i = 0; i < sprite_get_number(); i++) {
if (sprite_get_bbox_mode(i) != bboxmode_fullimage) {
sprite_set_bbox_mode(i, bboxmode_fullimage);
}
}
이 코드는 모든 스프라이트를 반복하며, 경계 상자 모드가 전체 이미지 모드가 아닐 경우 전체 이미지 모드로 변경합니다.
예제 3: 특정 스프라이트의 수동 모드 설정
sprite_set_bbox_mode(sprite_index, bboxmode_manual);
sprite_set_bbox(sprite_index, 10, 10, 50, 50); // 사용자 정의 값 설정
이 코드는 특정 스프라이트의 경계 상자 모드를 수동으로 설정하고, 사용자 정의 값으로 경계 상자를 설정합니다.
예제 4: 경계 상자 모드에 따른 처리
switch (sprite_get_bbox_mode(sprite_index)) {
case bboxmode_automatic:
// 자동 모드에 대한 처리
break;
case bboxmode_fullimage:
// 전체 이미지 모드에 대한 처리
break;
case bboxmode_manual:
// 수동 모드에 대한 처리
break;
}
이 코드는 현재 스프라이트의 경계 상자 모드에 따라 다른 처리를 수행합니다.