bbox_top 변수 설명 및 활용 예제
개요
bbox_top 변수는 인스턴스의 바운딩 박스 상단의 위치를 반환합니다. 이 위치는 방의 y축을 기준으로 하며, 바운딩 박스는 인스턴스의 마스크의 최대 너비와 높이에 의해 정의됩니다. 마스크는 sprite_index 또는 mask_index에 의해 설정됩니다. 스프라이트에 정확한 충돌 마스크가 설정되어 있더라도 바운딩 박스는 존재하며, 특정 작업에 사용됩니다. 만약 인스턴스에 스프라이트가 할당되지 않은 경우, 반환되는 값은 인스턴스의 y 위치와 동일합니다.
문법
bbox_top;
반환 값
- 실수형 (정수)
활용 예제
아래의 예제는 bbox_top 변수를 사용하여 인스턴스의 바운딩 박스가 방의 경계를 벗어났는지 확인하고, 벗어났다면 인스턴스를 새로운 위치로 설정하는 코드입니다.
if (bbox_top < 0) {
y = sprite_yoffset;
}
추가 활용 예제
| 예제 설명 | 코드 스니펫 |
|---|---|
| 인스턴스가 방의 상단을 넘어가면 아래로 이동 | gml if (bbox_top < 0) { y += 10; } |
| 인스턴스가 방의 하단을 넘어가면 위로 이동 | gml if (bbox_top > room_height) { y -= 10; } |
| 인스턴스의 위치를 바운딩 박스의 중앙으로 조정 | gml y = bbox_top + (sprite_height / 2); |
| 바운딩 박스가 방의 경계를 벗어났는지 확인 후 경고 메시지 출력 | gml if (bbox_top < 0||bbox_top > room_height) { show_message("인스턴스가 방의 경계를 벗어났습니다."); } |
| 바운딩 박스의 위치에 따라 다른 행동 수행 | gml if (bbox_top < 100) { // 특정 행동 } |
이와 같이 bbox_top 변수를 활용하여 인스턴스의 위치를 제어하고, 다양한 게임 로직을 구현할 수 있습니다.