파티클 이미터 (Particle Emitters)
파티클 이미터는 GameMaker에서 화면의 특정 영역에 파티클을 방출하는 데 사용됩니다. 이 파티클은 다양한 형태와 분포를 가질 수 있으며, 연속적으로 방출되거나 한 번에 여러 개의 파티클을 폭발적으로 방출할 수 있습니다. 이 기능은 사용 방법에 따라 달라집니다.
파티클 이미터 생성 및 관리
파티클 이미터는 동적으로 생성되는 리소스이므로, 이미터를 생성하고 반환된 인덱스를 변수에 저장하여 이후의 함수 호출에서 이 이미터를 참조해야 합니다. 이미터가 더 이상 필요하지 않을 때는 반드시 삭제해야 하며, 그렇지 않으면 메모리 누수가 발생하여 게임이 느려지거나 결국 크래시될 수 있습니다.
파티클 이미터는 생성 시 파티클 시스템에 연결되므로, 파티클 시스템을 삭제하면 관련된 이미터도 함께 삭제됩니다. 그러나 시스템이 계속 존재하는 동안 개별 이미터를 삭제할 수도 있습니다.
함수 참조
각 함수는 소속된 파티클 시스템을 첫 번째 인수로 받습니다.
함수 이름 | 설명 |
---|---|
part_emitter_exists | 이미터가 존재하는지 확인합니다. |
part_emitter_create | 새로운 이미터를 생성합니다. |
part_emitter_clear | 이미터의 파티클을 모두 지웁니다. |
part_emitter_region | 이미터의 방출 영역을 설정합니다. |
part_emitter_relative | 이미터의 상대 위치를 설정합니다. |
part_emitter_burst | 이미터에서 파티클을 폭발적으로 방출합니다. |
part_emitter_stream | 이미터에서 연속적으로 파티클을 방출합니다. |
part_emitter_destroy | 특정 이미터를 삭제합니다. |
part_emitter_destroy_all | 모든 이미터를 삭제합니다. |
part_emitter_enable | 이미터를 활성화하거나 비활성화합니다. |
part_emitter_delay | 이미터의 방출 지연 시간을 설정합니다. |
part_emitter_interval | 이미터의 방출 간격을 설정합니다. |
활용 예제
1. 기본 파티클 이미터 생성
var emitter = part_emitter_create(particle_system);
2. 파티클 이미터의 방출 영역 설정
part_emitter_region(emitter, x, y, x + 100, y + 100, ps_shape_rectangle, ps_distr_linear);
3. 파티클 폭발 방출
part_emitter_burst(emitter, particle_type, 10);
4. 파티클 연속 방출
part_emitter_stream(emitter, particle_type);
5. 이미터 삭제
part_emitter_destroy(emitter);
6. 모든 이미터 삭제
part_emitter_destroy_all(particle_system);
이러한 예제들은 파티클 이미터를 효과적으로 활용하는 방법을 보여줍니다. 각 기능을 조합하여 다양한 시각적 효과를 만들 수 있습니다.