물리 입자 생성 함수
이 문서에서는 게임 룸 내에서 단일 입자를 생성하는 방법에 대해 설명합니다. 이 함수는 특정 플래그와 속성을 설정할 수 있습니다. "플래그"는 다음 상수들의 조합으로 반환되는 값입니다.
상수 | 설명 |
---|---|
phy_particle_flag_water |
부드러운 입자의 기본 속성입니다. |
phy_particle_flag_zombie |
좀비 입자는 한 번의 스텝 후 파괴되는 입자입니다. |
phy_particle_flag_wall |
입자를 고정된 물체로 정의하여 움직이지 않도록 합니다. |
phy_particle_flag_spring |
입자들이 서로 스프링으로 연결된 것처럼 작용합니다. |
phy_particle_flag_elastic |
입자가 다른 단단한 물체와 충돌할 때 변형되고 튕깁니다. |
phy_particle_flag_viscous |
점성이 있는 입자로, 기름처럼 끈적거립니다. |
phy_particle_flag_powder |
모래나 먼지처럼 흩어지는 효과를 생성합니다. |
phy_particle_flag_tensile |
액체의 표면 장력을 생성하는 데 사용됩니다. |
phy_particle_flag_colourmixing |
충돌하는 다른 입자의 색상을 일부 취합니다. |
함수 사용법
입자를 생성할 때는 다음과 같은 인수를 사용할 수 있습니다.
인수 | 타입 | 설명 |
---|---|---|
flags |
Physics Particle Flag Constant(s) | 입자에 설정할 플래그입니다. |
x |
Real | 입자를 생성할 x 위치입니다. |
y |
Real | 입자를 생성할 y 위치입니다. |
xv |
Real | 초기 수평 속도입니다. |
yv |
Real | 초기 수직 속도입니다. |
col |
Colour | 입자에 사용할 기본 색상입니다. |
alpha |
Real | 입자에 사용할 기본 알파 값입니다. |
category |
Real | 입자가 속하는 사용자 정의 카테고리입니다. |
함수는 입자에 대한 고유한 인덱스(또는 ID) 값을 반환하며, 이 값은 다른 함수에서 입자를 직접 참조하는 데 사용될 수 있습니다.
예제 코드
|phy_particle_flag_viscous|
|---|
var x_vel = lengthdir_x(5, image_angle);
var y_vel = lengthdir_y(5, image_angle);
var p = physics_particle_create(flags, x, y, x_vel, y_vel, c_white, 1, 1);
위 코드는 입자 유형과 초기 속도를 설정하는 변수를 생성한 후, 이를 사용하여 인스턴스의 x/y 위치에 입자를 생성합니다.
활용 예제
- 부드러운 물체 생성: 물리 엔진에서 부드러운 물체를 만들기 위해
phy_particle_flag_water
플래그를 사용하여 물리적 특성을 설정할 수 있습니다.
var water_particle = physics_particle_create(phy_particle_flag_water, 100, 200, 0, 0, c_blue, 1, 1);
- 점성 물질 시뮬레이션: 점성이 있는 물질을 시뮬레이션하기 위해
phy_particle_flag_viscous
플래그를 사용하여 입자를 생성합니다.
var viscous_particle = physics_particle_create(phy_particle_flag_viscous, 150, 250, 0, 0, c_yellow, 1, 2);
- 입자 연결 효과: 스프링 효과를 사용하여 입자들이 서로 연결되도록 설정합니다.
var spring_particle = physics_particle_create(phy_particle_flag_spring, 200, 300, 0, 0, c_green, 1, 3);
- 색상 혼합 효과: 색상 혼합 입자를 생성하여 다른 입자와 충돌 시 색상이 섞이도록 합니다.
var color_mixing_particle = physics_particle_create(phy_particle_flag_colourmixing, 250, 350, 0, 0, c_red, 1, 4);
이와 같이 다양한 플래그를 조합하여 입자의 특성을 설정하고, 게임 내에서 다양한 물리적 효과를 구현할 수 있습니다.