파티클 시스템 생성
이 문서에서는 파티클 시스템을 생성하는 방법에 대해 설명합니다. 파티클 시스템은 게임에서 다양한 효과를 구현하는 데 사용됩니다. 이 함수는 새로운 파티클 시스템을 생성하고 그 핸들을 반환합니다. 시스템은 관리되는 레이어에 할당되며 깊이는 0으로 설정됩니다. 관리되는 레이어는 사용자에게 접근할 수 없으며, 깊이를 레이어 대신 사용할 때 내부 관리를 위해 사용됩니다. 일반적으로는 part_system_create_layer
함수를 사용하는 것이 좋습니다.
문법
part_sys = part_system_create([partsys]);
인수 설명
인수명 | 타입 | 설명 |
---|---|---|
partsys | 파티클 시스템 자산 | 인스턴스를 생성할 파티클 시스템 자산 |
반환 값
- 파티클 시스템 인스턴스
예제
생성 이벤트
part_sys = part_system_create();
part_emitter = part_emitter_create(part_sys);
part_emitter_region(part_sys, part_emitter, 0, room_width, 0, room_height, ps_shape_rectangle, ps_distr_linear);
part_type = part_type_create();
part_type_shape(part_type, pt_shape_disk);
part_emitter_stream(part_sys, part_emitter, part_type, 2);
위의 코드는 기본적인 파티클 시스템을 설정하고 이를 나중에 파괴하는 방법을 보여줍니다. 생성 이벤트에서 part_system_create
를 사용하여 파티클 시스템 인스턴스를 생성하고, 여기에 발사기를 추가합니다. 발사기는 방 전체에 걸쳐 파티클을 방출하도록 구성됩니다. 그 후, 파티클 유형을 생성하고 그 모양을 원형으로 설정합니다. 마지막으로, 발사기는 매 프레임마다 생성된 유형의 파티클을 두 개 방출하도록 설정됩니다.
정리 이벤트
part_system_destroy(part_sys);
part_type_destroy(part_type);
정리 이벤트에서는 part_system_destroy
를 호출하여 파티클 시스템을 파괴합니다. 이 호출은 발사기도 함께 파괴합니다. 파티클 유형은 part_type_destroy
를 사용하여 별도로 파괴됩니다.
활용 예제
예제 1: 불꽃 효과
part_sys = part_system_create();
part_emitter = part_emitter_create(part_sys);
part_emitter_region(part_sys, part_emitter, 0, room_width, room_height / 2, room_height / 2, ps_shape_circle, ps_distr_random);
part_type = part_type_create();
part_type_shape(part_type, pt_shape_flame);
part_emitter_stream(part_sys, part_emitter, part_type, 5);
예제 2: 비 오는 효과
part_sys = part_system_create();
part_emitter = part_emitter_create(part_sys);
part_emitter_region(part_sys, part_emitter, 0, room_width, 0, room_height, ps_shape_rectangle, ps_distr_linear);
part_type = part_type_create();
part_type_shape(part_type, pt_shape_drop);
part_emitter_stream(part_sys, part_emitter, part_type, 10);
예제 3: 폭발 효과
part_sys = part_system_create();
part_emitter = part_emitter_create(part_sys);
part_emitter_region(part_sys, part_emitter, room_width / 2, room_width / 2, room_height / 2, room_height / 2, ps_shape_circle, ps_distr_random);
part_type = part_type_create();
part_type_shape(part_type, pt_shape_circle);
part_emitter_stream(part_sys, part_emitter, part_type, 20);
이 예제들은 다양한 파티클 효과를 생성하는 방법을 보여줍니다. 각 예제는 특정한 효과를 위해 발사기와 파티클 유형을 설정하는 방법을 설명합니다.