물리 입자 그룹 결합
이 문서는 두 개의 입자 그룹을 결합하는 방법에 대해 설명합니다. 결합된 그룹은 하나의 개체처럼 동작하게 됩니다. 두 그룹은 서로 겹치는 가장자리를 가지고 있어야 하며, 그렇지 않으면 결합되지 않습니다. 이 함수는 physics_particle_group_end()
함수로 반환된 고유 그룹 ID를 사용하여 그룹을 결합합니다. 이 함수를 사용하여 단일 그룹이 여러 부드러운 물체를 결합할 수 있습니다.
문법
physics_particle_group_join(to, from)
인수 설명
인수 | 유형 | 설명 |
---|---|---|
to | Physics Particle Group ID | 결합할 첫 번째 입자 그룹 |
from | Physics Particle Group ID | 결합할 두 번째 입자 그룹 |
반환값
- N/A
예제
다음 코드는 두 개의 원형 입자 그룹을 생성하고 이를 결합하는 예제입니다.
|phy_particle_flag_viscous|
|---|
var groupflags = phy_particle_group_flag_solid;
physics_particle_group_begin(flags, groupflags, mouse_x - 45, mouse_y, 0, 0, 0, 0, c_white, 1, 1, 2);
physics_particle_group_circle(50);
var g1 = physics_particle_group_end();
physics_particle_group_begin(flags, groupflags, mouse_x + 45, mouse_y, 0, 0, 0, 0, c_white, 1, 1, 2);
physics_particle_group_circle(50);
var g2 = physics_particle_group_end();
physics_particle_group_join(g1, g2);
활용 예제
예제 1: 여러 입자 그룹 결합하기
var flags = phy_particle_flag_water;
var groupflags = phy_particle_group_flag_solid;
physics_particle_group_begin(flags, groupflags, 100, 100, 0, 0, 0, 0, c_blue, 1, 1, 2);
physics_particle_group_circle(30);
var group1 = physics_particle_group_end();
physics_particle_group_begin(flags, groupflags, 150, 100, 0, 0, 0, 0, c_blue, 1, 1, 2);
physics_particle_group_circle(30);
var group2 = physics_particle_group_end();
physics_particle_group_join(group1, group2);
예제 2: 동적인 입자 그룹 생성 및 결합
var flags = phy_particle_flag_viscous;
var groupflags = phy_particle_group_flag_solid;
for (var i = 0; i < 5; i++) {
physics_particle_group_begin(flags, groupflags, mouse_x + i * 20, mouse_y, 0, 0, 0, 0, c_red, 1, 1, 2);
physics_particle_group_circle(20);
var dynamicGroup = physics_particle_group_end();
if (i > 0) {
physics_particle_group_join(previousGroup, dynamicGroup);
}
previousGroup = dynamicGroup;
}
예제 3: 사용자 입력에 따라 입자 그룹 결합
if (mouse_check_button_pressed(mb_left)) {
var flags = phy_particle_flag_tensile;
var groupflags = phy_particle_group_flag_solid;
physics_particle_group_begin(flags, groupflags, mouse_x, mouse_y, 0, 0, 0, 0, c_green, 1, 1, 2);
physics_particle_group_circle(40);
var newGroup = physics_particle_group_end();
if (existingGroup != undefined) {
physics_particle_group_join(existingGroup, newGroup);
}
existingGroup = newGroup;
}
이 문서에서는 물리 입자 그룹을 결합하는 방법과 다양한 활용 예제를 살펴보았습니다.