물리 입자 데이터 가져오기
이 문서는 물리 시뮬레이션에서 각 입자에 대한 다양한 정보를 반환하는 physics_particle_get_data
함수에 대해 설명합니다. 이 함수는 주어진 플래그를 사용하여 정보를 가져옵니다.
함수 설명
물리 입자 데이터 플래그 상수
상수 이름 | 설명 | 데이터 타입 |
---|---|---|
phy_particle_data_flag_type |
입자의 플래그 값 | buffer_u32 |
phy_particle_data_flag_position |
입자의 x 및 y 위치 | 2 x buffer_f32 |
phy_particle_data_flag_velocity |
수평 및 수직 속도 | 2 x buffer_f32 |
phy_particle_data_flag_colour |
색상 및 알파 값 (16진수) | buffer_u32 |
phy_particle_data_flag_category |
입자 카테고리 (입자 또는 그룹 생성 시 정의된) | buffer_u32 |
함수 구문
physics_particle_get_data(buffer, flags)
인수 설명
인수 | 타입 | 설명 |
---|---|---|
buffer |
Buffer | (이전에 생성된) 데이터를 저장할 버퍼 |
flags |
물리 입자 데이터 플래그 상수 | 특정 입자 유형에 대한 데이터를 추출하는 데 사용할 플래그 |
반환 값
N/A
활용 예제
아래는 입자 수를 가져오고, 데이터 플래그를 설정한 후, 방에 입자가 있는지 확인하고, 입자 데이터를 가져와 스프라이트를 그리는 예제입니다.
var count = physics_particle_count();
||
||
if (count > 0) {
var buffer = buffer_create(count * 12, buffer_grow, 4);
physics_particle_get_data(buffer, flags);
for (var n = 0; n < count; n++) {
var xx = buffer_read(buffer, buffer_f32);
var yy = buffer_read(buffer, buffer_f32);
var argb = buffer_read(buffer, buffer_u32);
var alpha = (argb >> 24) & 255;
draw_sprite_ext(sprBlob, 0, xx, yy, 1, 1, 0, c_green, alpha);
}
buffer_delete(buffer);
}
이 코드는 입자의 수를 가져오고, 데이터 플래그를 설정한 후, 방에 입자가 있는지 확인합니다. 입자가 있다면, 버퍼를 생성하고 입자 데이터를 채운 다음, 입자 위치에 스프라이트를 그립니다.