sprite_get_bbox_top 함수 설명
sprite_get_bbox_top 함수는 스프라이트 경계 상자의 상단 상대 위치를 반환합니다. 이 값은 기본 스프라이트 자산의 왼쪽 상단 모서리(0,0)를 기준으로 한 상대 값입니다. 이 값은 스프라이트 편집기에서 충돌 마스크 속성으로 찾을 수 있는 값과 동일합니다. 아래 이미지는 이 값이 어떻게 계산되는지를 보여줍니다.
문법
sprite_get_bbox_top(ind);
인수
| 인수 | 유형 | 설명 |
|---|---|---|
| ind | 정수 | 확인할 스프라이트의 인덱스 |
반환값
- 스프라이트 경계 상자의 상단 상대 위치
예제
다음 코드는 충돌 마스크의 너비와 높이를 계산합니다.
var ww, hh;
ww = sprite_get_bbox_left(sprite_index) - sprite_get_bbox_right(sprite_index);
hh = sprite_get_bbox_bottom(sprite_index) - sprite_get_bbox_top(sprite_index);
위 코드는 상대 경계 상자의 측면 위치를 기반으로 충돌 마스크의 너비와 높이를 계산합니다.
활용 예제
예제 1: 스프라이트의 경계 상자 정보 출력
var top = sprite_get_bbox_top(sprite_index);
var bottom = sprite_get_bbox_bottom(sprite_index);
var left = sprite_get_bbox_left(sprite_index);
var right = sprite_get_bbox_right(sprite_index);
show_debug_message("Top: " + string(top) + ", Bottom: " + string(bottom) + ", Left: " + string(left) + ", Right: " + string(right));
예제 2: 스프라이트가 화면에 보이는지 확인
if (sprite_get_bbox_top(sprite_index) < 0) {
show_debug_message("스프라이트가 화면 위쪽에 있습니다.");
}
예제 3: 충돌 감지
if (place_meeting(x, y, obj_enemy)) {
var enemy_top = sprite_get_bbox_top(obj_enemy.sprite_index);
if (y < enemy_top) {
// 충돌 처리
}
}
이러한 예제들은 sprite_get_bbox_top 함수를 활용하여 스프라이트의 경계 상자 정보를 얻고, 이를 통해 다양한 게임 로직을 구현하는 데 도움을 줄 수 있습니다.