물리 충돌 포인트 (phy_collision_points)
phy_collision_points
는 두 인스턴스 간의 충돌에서 감지된 충돌 포인트의 수를 반환하는 읽기 전용 변수입니다. 이 함수가 반환하는 값은 현재 충돌 이벤트에서 내장된 배열인 phy_collision_x
, phy_collision_y
, phy_col_normal_x
, phy_col_normal_y
의 항목 수입니다.
문법
phy_collision_points
반환값
- 실수 (정수 값) 또는 인스턴스에 물리학이 활성화되어 있지 않은 경우 정의되지 않음.
예제
충돌 이벤트에서 다음과 같은 코드를 사용할 수 있습니다:
for(var i = 0; i < phy_collision_points; i += 1;) {
part_particles_create(global.Sname, phy_collision_x[i], phy_collision_y[i], global.Spark, 5);
}
위 코드는 두 개의 물리학이 활성화된 인스턴스 간의 충돌 지점에서 모든 정의된 위치에 입자를 생성합니다.
활용 예제
예제 1: 충돌 시 소리 재생
for(var i = 0; i < phy_collision_points; i += 1;) {
audio_play_sound(snd_collision, 1, false);
}
이 코드는 충돌 지점마다 소리를 재생합니다.
예제 2: 충돌 시 점수 증가
for(var i = 0; i < phy_collision_points; i += 1;) {
score += 10; // 점수 10점 증가
}
이 코드는 충돌이 발생할 때마다 점수를 10점씩 증가시킵니다.
예제 3: 충돌 시 오브젝트 생성
for(var i = 0; i < phy_collision_points; i += 1;) {
instance_create_layer(phy_collision_x[i], phy_collision_y[i], "Instances", obj_new);
}
이 코드는 충돌 지점에서 새로운 오브젝트를 생성합니다.
참고
phy_collision_x
,phy_collision_y
배열은 충돌 지점의 x, y 좌표를 제공합니다.phy_col_normal_x
,phy_col_normal_y
배열은 충돌의 법선 벡터를 제공합니다.