버스트 파티클(Burst Particles) 설명서
버스트 파티클 기능은 파티클 발생기에 의존하지 않고 언제든지 파티클을 발산할 수 있게 해줍니다. 이 기능을 사용하기 위해서는 다음과 같은 고유한 ID 값이 필요합니다:
- 파티클 시스템의 ID:
Create Particle System액션을 사용하여 생성한 시스템의 ID. - 파티클 타입의 ID:
Create Particle Type액션을 사용하여 만든 파티클 타입의 ID. - x/y 위치: 파티클을 생성할 위치. 이 위치는 방(room) 내의 절대적인 위치일 수도 있고, 호출하는 인스턴스에 상대적인 위치로 설정할 수도 있습니다.
- 생성할 개수: 생성할 파티클의 수.
이 액션은 매 게임 프레임마다 호출하여 방출기(emitter)의 스트림 효과를 재현할 수도 있고, 특정 이벤트(예: 파괴 이벤트)에서 한 번만 호출하여 파티클을 바스트(burst) 할 수도 있습니다.
액션 구문 및 인수
// 버스트 파티클 액션 구문 예제
burst_particles(System, Type, X, Y, Count);
| 인수 | 설명 |
|---|---|
| System | 사용할 파티클 시스템의 ID 값 |
| Type | 버스트할 파티클 타입의 ID 값 |
| X | 파티클을 발산할 x 위치 |
| Y | 파티클을 발산할 y 위치 |
| Count | 버스트할 파티클의 수 |
예제
아래 코드는 인스턴스의 위치가 마지막 게임 프레임에서 업데이트된 이후에 변경됐는지 확인하고, 만약 변경되었다면 새로운 위치에서 파티클을 발산하는 예시입니다:
if (position_changed) {
burst_particles(particle_system_id, particle_type_id, new_x, new_y, number_of_particles);
}
활용 및 응용 예제
1. 위치 기반 파티클 발산
특정 인스턴스의 위치에 따라 다양한 파티클을 발산하도록 설정할 수 있습니다. 예를 들어, 플레이어가 장애물에 부딪혔을 때 파티클을 발생시킬 수 있습니다.
if (collision_with_obstacle) {
burst_particles(player_particle_system, collision_particles_type, x, y, 50);
}
2. 지속적인 파티클 효과
매 프레임마다 호출하여 지속적인 파티클 효과를 만들 수 있습니다. 파티클 효과를 사용하는 예로는 무기 발사 시 총알 연기가 있습니다.
if (shooting) {
burst_particles(weapon_particle_system, bullet_smoke_type, x, y, 10);
}
3. 이벤트 기반 파티클 발산
파괴 이벤트에서 캐릭터가 사망할 때 터지는 효과를 줄 수 있습니다.
event_destroy = function() {
burst_particles(explosion_particle_system, explosion_type, x, y, 100);
}
이와 같이, 버스트 파티클 기능은 게임의 다양한 분야에서 유용하게 활용될 수 있습니다. 각 사례에 따라 조정하여 사용하세요!