파티클 시스템 생성하기
이 문서에서는 파티클 시스템을 초기화하는 방법에 대해 설명합니다. 파티클 시스템을 사용하여 다양한 입자 유형 및 방출기를 생성할 수 있도록 준비합니다.
## 기본 개념
### 파라미터 설명
- **Layer**: 파티클이 그려질 레이어의 이름을 문자열로 지정합니다. 예: "Particle Layer". 이 레이어는 방 편집기에서 미리 존재해야 합니다.
- **Persistent**: 파티클 시스템이 현재 방이 끝난 후에도 활성 상태를 유지할지 여부를 지정합니다.
- **Target**: 생성된 시스템의 고유 ID 값을 저장할 변수입니다. 이 ID는 다른 함수에서 시스템의 속성을 설정하거나 GameMaker에게 입자를 생성할 때 사용할 시스템을 지시하는데 사용됩니다.
### 동작 설명
파티클 시스템을 생성하면 다음과 같은 동작이 발생합니다:
- **Persistent**으로 설정되면, 모든 방에서 계속 활성 상태로 유지됩니다.
- 비활성 상태로 설정되면, 생성된 방의 끝에서 자동으로 파괴됩니다.
### 메모리 관리
- 지속적인 파티클 시스템은 게임이 실행되는 동안 메모리에 유지됩니다. 다시 생성하려면 먼저 현재 시스템을 파괴해야 합니다. 그렇지 않으면 메모리 누수가 발생할 수 있습니다.
- 메모리 누수란, 리소스가 메모리에 추가된 후 GameMaker가 해당 리소스와 상호작용할 수 없게 되는 것을 의미합니다. 이는 게임에 문제를 일으킬 수 있습니다.
## 동작 예제
### 예제 코드
다음 코드 블록은 전역 변수를 생성하고 새로운 파티클 시스템을 만들며, 그 고유 ID 값을 전역 변수에 할당하는 예입니다. 생성된 파티클 시스템은 지속적으로 활성 상태로 유지됩니다.
```gml
var particleID;
Create Particle System("Particle Layer", true, particleID);
추가 활용 예제
- 임시 변수를 사용한 파티클 시스템 생성:
gml var tempParticleID; Create Particle System("Particle Layer", true, tempParticleID); // tempParticleID는 이 블록 이후로는 사용 불가 - 파티클 시스템 제거:
gml Destroy Particle System(particleID); - 게임 재시작 시 파티클 시스템 관리:
gml // 게임을 재시작할 때 Destroy Particle System(particleID); Create Particle System("Particle Layer", true, particleID);
요약
- Create Particle System 동작을 사용하여 파티클 시스템을 생성하고 관리할 수 있습니다.
- 적절한 메모리 관리와 변수 사용에 주의하여야 합니다. 파티클 시스템이 필요할 때만 생성하고, 필요하지 않은 경우에는 반드시 파괴해야 메모리 누수를 방지할 수 있습니다.
관련 링크
© Copyright YoYo Games Ltd. 2023 All Rights Reserved ```