파티클 타입 스프라이트 설정
이 문서는 게임 자산에서 사용자 정의 스프라이트를 사용하는 파티클 타입을 설정하는 함수에 대해 설명합니다. part_type_shape
를 사용하여 내장된 파티클 형태 중 하나를 사용할 수도 있습니다. 이 함수는 기존 파티클의 스프라이트를 변경하는 데 사용할 수 있습니다.
사용 방법
스프라이트를 선택한 후, GameMaker에게 스프라이트를 사용하고 애니메이션을 적용할지 여부를 지정할 수 있습니다. 애니메이션을 적용하기로 선택하면, 애니메이션을 늘릴지 여부도 선택할 수 있습니다. 즉, 서브 이미지가 변경되는 간격을 설정하여 각 파티클의 수명 시작과 끝에 애니메이션이 맞춰지도록 할 수 있습니다. 예를 들어, 수명이 최소 15 스텝, 최대 30 스텝으로 설정된 경우, 수명이 짧은 파티클은 애니메이션이 더 빠르게 실행되고, 긴 파티클은 더 느리게 실행됩니다.
또한, 랜덤 서브 이미지를 선택할 수 있어 애니메이션이 없는 경우에는 랜덤으로 다른 이미지를 선택하거나, 애니메이션이 있는 경우에는 랜덤한 지점에서 애니메이션이 시작되도록 할 수 있습니다.
구문
part_type_sprite(ind, sprite, animate, stretch, random);
인수 설명
인수 | 타입 | 설명 |
---|---|---|
ind | Particle Type ID | 변경할 파티클 타입의 인덱스 |
sprite | Sprite Asset | 파티클 타입으로 설정할 스프라이트 |
animate | Boolean | 스프라이트의 애니메이션을 따를지 여부 (true 또는 false) |
stretch | Boolean | 파티클 수명에 맞춰 스프라이트 애니메이션을 늘릴지 여부 (true 또는 false) |
random | Boolean | 시작 시 랜덤 서브 이미지를 선택할지 여부 (true 또는 false) |
반환값
- N/A
예제 코드
다음은 파티클 타입을 설정하는 예제 코드입니다.
global.p1 = part_type_create();
part_type_sprite(global.p1, spr_Coins, 1, 0, 0);
part_type_size(global.p1, 1, 3, 0, 0);
part_type_scale(global.p1, 1, 1);
part_type_colour1(global.p1, c_white);
part_type_alpha2(global.p1, 1, 0);
part_type_speed(global.p1, 2, 4, 0, 0);
part_type_direction(global.p1, 0, 180, 0, 0);
part_type_gravity(global.p1, 0.20, 270);
part_type_orientation(global.p1, 0, 0, 0, 0, 1);
part_type_blend(global.p1, 1);
part_type_life(global.p1, 15, 60);
위 코드는 전역 변수 "p1"에 인덱스된 파티클 타입을 "spr_Coins"에 인덱스된 스프라이트 형태로 설정하고, 다양한 다른 파티클 속성을 설정합니다.
활용 예제
- 스프라이트 애니메이션 적용
gml part_type_sprite(global.p1, spr_Explosion, true, true, false);
- 랜덤 서브 이미지 사용
gml part_type_sprite(global.p1, spr_Fire, false, false, true);
- 애니메이션 늘리기
gml part_type_sprite(global.p1, spr_Smoke, true, true, false);
- 기본 스프라이트 설정
gml part_type_sprite(global.p1, spr_Star, false, false, false);
- 다양한 파티클 속성 조정
gml part_type_size(global.p1, 0.5, 1.5, 0, 0); part_type_speed(global.p1, 1, 3, 0, 0);
이러한 예제들은 파티클 시스템을 활용하여 다양한 효과를 구현하는 데 도움이 됩니다.