position_destroy 함수 설명 및 활용 예제
함수 설명
position_destroy
함수는 지정된 위치와 충돌하는 모든 인스턴스를 간단히 파괴하는 기능을 제공합니다. 충돌은 인스턴스의 마스크를 기반으로 하며, 마스크의 일부라도 목표 지점과 겹치면 해당 인스턴스가 파괴됩니다. 이렇게 파괴된 인스턴스는 Destroy
및 Clean Up
이벤트를 트리거합니다.
문법
position_destroy(x, y);
인수 설명
인수 | 타입 | 설명 |
---|---|---|
x | Real | 충돌 인스턴스를 파괴할 x 좌표 |
y | Real | 충돌 인스턴스를 파괴할 y 좌표 |
반환값
- N/A
활용 예제
다음은 position_destroy
함수를 활용한 몇 가지 예제입니다.
예제 1: 마우스 클릭으로 인스턴스 파괴
if (mouse_check_button_pressed(mb_left)) {
position_destroy(mouse_x, mouse_y);
}
이 코드는 왼쪽 마우스 버튼이 눌렸을 때, 마우스 커서 위치와 충돌하는 모든 인스턴스를 파괴합니다.
예제 2: 특정 위치에서 인스턴스 파괴
var target_x = 100;
var target_y = 200;
position_destroy(target_x, target_y);
이 코드는 (100, 200) 좌표에서 충돌하는 모든 인스턴스를 파괴합니다.
예제 3: 키 입력으로 인스턴스 파괴
if (keyboard_check_pressed(vk_space)) {
position_destroy(player.x, player.y);
}
이 코드는 스페이스바가 눌렸을 때, 플레이어의 현재 위치에서 충돌하는 모든 인스턴스를 파괴합니다.
예제 4: 타이머를 이용한 주기적 인스턴스 파괴
if (alarm[0] == 0) {
position_destroy(random(room_width), random(room_height));
alarm[0] = room_speed; // 1초 후 다시 실행
}
이 코드는 타이머가 0일 때, 방의 임의의 위치에서 충돌하는 인스턴스를 파괴하고, 1초 후에 다시 실행되도록 설정합니다.
예제 5: 특정 인스턴스 타입만 파괴
var instance_list = instance_place_list(mouse_x, mouse_y, obj_target);
for (var i = 0; i < array_length(instance_list); i++) {
instance_destroy(instance_list[i]);
}
이 코드는 마우스 위치에서 특정 인스턴스 타입(obj_target
)과 충돌하는 인스턴스만 파괴합니다.