파티클 버스트 함수 설명
part_particles_burst
함수는 주어진 파티클 시스템 자산에 포함된 모든 파티클의 단일 버스트를 생성합니다. 이 함수는 기존 파티클 시스템에 만든 파티클 효과를 빠르게 추가할 수 있는 방법을 제공합니다. 이는 마치 해당 파티클 시스템 자산 내의 발사기를 주어진 파티클 시스템에 추가하고, 그 모든 발사기에 대해 part_emitter_burst
를 호출하는 것과 같습니다. 비활성화된 발사기에 대해서는 파티클이 생성되지 않습니다.
문법
part_particles_burst(ind, x, y, partsys);
인자 설명
인자명 | 타입 | 설명 |
---|---|---|
ind | Particle System Instance | 파티클을 생성할 파티클 시스템의 인덱스 |
x | Real | 파티클이 폭발할 x 위치 |
y | Real | 파티클이 폭발할 y 위치 |
partsys | Particle System Asset | 파티클을 폭발시킬 파티클 시스템 자산 |
반환값
N/A
활용 예제
예제 1: 파티클 시스템 생성 및 폭발
ps = part_system_create_layer("Effects", false);
repeat(10) {
var _x = random(room_width);
var _y = random(room_height);
part_particles_burst(ps, _x, _y, ps_Fireworks);
}
위 코드는 "Effects"라는 이름의 룸 레이어에 새로운 파티클 시스템을 생성하고, 인스턴스 변수 ps
에 인덱스를 저장합니다. 이후 repeat
루프를 통해 10번 part_particles_burst
함수를 호출하여 ps_Fireworks
파티클 시스템 자산의 파티클을 ps
파티클 시스템에 추가합니다.
예제 2: 레이어 시작 스크립트에서 파티클 생성
ps = part_system_create_layer("Effects", false);
layer_script_begin("Effects", method({ps}, function() {
part_particles_burst(ps, random(room_width), random(room_height), ps_Fireworks);
}));
위 코드는 "Effects"라는 이름의 룸 레이어에 새로운 파티클 시스템을 생성합니다. 이후 레이어 시작 스크립트를 설정하여 매 스텝마다 part_particles_burst
함수를 호출하여 ps_Fireworks
파티클 시스템 자산의 파티클을 룸의 임의 위치에서 생성합니다. 레이어 시작 스크립트를 제거하면 자산에서의 파티클 생성이 종료됩니다.
추가 활용 예제
예제 3: 파티클 효과를 특정 조건에서만 생성하기
if (score > 100) {
part_particles_burst(ps, player.x, player.y, ps_Sparkle);
}
예제 4: 파티클 시스템을 정리하기
part_system_destroy(ps);
예제 5: 파티클의 색상 변경하기
part_particles_burst(ps, _x, _y, ps_Fireworks);
part_color(ps, c_red);
이와 같은 방식으로 part_particles_burst
함수를 활용하여 다양한 파티클 효과를 생성하고 조작할 수 있습니다.