물리 입자 그리기 함수 해설
physics_particle_draw_ext
함수는 사용자 정의 카테고리 값이 동일한 모든 입자의 위치에 스프라이트를 그리는 기능을 제공합니다. 이 함수는 입자의 플래그와 마스크에 설정된 플래그가 일치하는 경우에만 작동합니다. 마스크 값은 입자를 생성할 때 플래그를 정의하는 방식과 동일하게 정의됩니다.
주요 사항
- 이 함수는 물리 시뮬레이션에서 마스크와 플래그가 일치하는 모든 입자를 그립니다. 개별 입자 또는 그룹 모두 포함됩니다.
- 그려진 입자는 생성 시 설정된 색상 및 알파 값을 무시하고, 함수에 제공된 스케일, 각도, 색상 및 알파 매개변수를 사용하여 그려집니다.
- 이 함수는 입자의 위치에 스프라이트를 그리는 용도로만 사용되며, 입자의 동작에는 영향을 미치지 않습니다.
문법
physics_particle_draw_ext(typemask, category, sprite, subimg, xscale, yscale, ang, col, alpha)
매개변수 설명
매개변수 | 유형 | 설명 |
---|---|---|
typemask | Physics Particle Flag Constant | 입자의 플래그와 비교할 마스크 |
category | Real | 그릴 사용자 정의 카테고리 (0을 사용하면 모든 카테고리 그리기) |
sprite | Sprite Asset | 각 입자에 사용할 스프라이트 |
subimg | Real | 그릴 스프라이트의 이미지 인덱스 |
xscale | Real | 스프라이트의 x축에 적용할 스케일 팩터 |
yscale | Real | 스프라이트의 y축에 적용할 스케일 팩터 |
ang | Real | 스프라이트를 그릴 각도 (도 단위) |
col | Colour | 스프라이트와 혼합할 색상 (기본값: c_white) |
alpha | Real | 그릴 때 사용할 알파 값 (0 - 1) |
예제
|phy_particle_flag_viscous|
|---|
physics_particle_draw_ext(flags, 2, sprBlob, 0, 2, 2, 0, c_white, 0.5);
위 코드는 사용자 정의 카테고리 "2"에 속하고 주어진 마스크와 동일한 플래그를 가진 모든 입자에 대해 스프라이트를 그립니다. 스프라이트는 x축과 y축 모두 2로 스케일되고, 알파 값은 0.5로 설정됩니다.
활용 예제
예제 1: 다양한 카테고리의 입자 그리기
||
||
physics_particle_draw_ext(flags, 1, sprFire, 0, 1.5, 1.5, 45, c_red, 0.8);
예제 2: 물리적 효과가 있는 입자 그리기
||
||
physics_particle_draw_ext(flags, 3, sprWater, 0, 1, 1, 0, c_blue, 0.6);
예제 3: 입자 그룹의 시각적 표현
||
||
physics_particle_draw_ext(flags, 4, sprGroup, 0, 2, 2, 90, c_green, 0.4);
이와 같은 방식으로 physics_particle_draw_ext
함수를 활용하여 다양한 입자 효과를 시각적으로 표현할 수 있습니다.