step 8. ParticleEffect 클래스를 만듭니다.
prefab 패키지에 GameObject를 상속한 ParticleEffect 클래스를 만듭니다.

Slick2D에 Particle이 있습니다만, 쓰기 힘들죠 이거 솔직히..
유니티3D에서야 눈으로 보면서 생성할 수 있지만, 코딩형 엔진에서의 파티클은 파라미터 제어하기 힘들어서 제한적으로만 쓰느 정도입니다.
여기서 쓸 것은 이름은 ParticleEffect지만, 기존의 이펙트처럼 프레임 애니메이션입니다.
한 장의 비트맵 이미지에 일정한 간격으로 이펙트 애니메이션을 나열한 뒤, 이것을 순서대로 재생하는 규격 애니메이션입니다.

하기에 따라서는 프레임의 순서나 프레임 별 재생 속도 등을 지정할 수도 있겠습니다만..
이번에는 반복 횟수 정도만 정해주는 간단한 식으로.
update에서는 카운트와 딜레이 정보, 반복 횟수 등으로 현재 보여줘야 할 프레임(nowFrame) 값을 제어하고 있고,

render에서는 nowFrame 값에 따라 보여줘야 될 프레임을 클리핑 출력하게 됩니다.

클리핑 함수에 넣어줘야 하는 값이 조금 복잡하게 적용되는 것 이외에는 그다지 어려운 점은 없습니다.
Bullet에서는 적과 충돌했을 때 스파크 이펙트를,

Neuroi1에서는 파괴되었을 때 폭발 이펙트를 각각 생성합니다.

폭발이펙트 그대로는 조금 작아보이길래 scale을 2.0(2*2배 크기)으로 지정해 줬습니다.
실행 결과

prefab 패키지에 GameObject를 상속한 ParticleEffect 클래스를 만듭니다.

Slick2D에 Particle이 있습니다만, 쓰기 힘들죠 이거 솔직히..
유니티3D에서야 눈으로 보면서 생성할 수 있지만, 코딩형 엔진에서의 파티클은 파라미터 제어하기 힘들어서 제한적으로만 쓰느 정도입니다.
여기서 쓸 것은 이름은 ParticleEffect지만, 기존의 이펙트처럼 프레임 애니메이션입니다.
한 장의 비트맵 이미지에 일정한 간격으로 이펙트 애니메이션을 나열한 뒤, 이것을 순서대로 재생하는 규격 애니메이션입니다.

하기에 따라서는 프레임의 순서나 프레임 별 재생 속도 등을 지정할 수도 있겠습니다만..
이번에는 반복 횟수 정도만 정해주는 간단한 식으로.
update에서는 카운트와 딜레이 정보, 반복 횟수 등으로 현재 보여줘야 할 프레임(nowFrame) 값을 제어하고 있고,

render에서는 nowFrame 값에 따라 보여줘야 될 프레임을 클리핑 출력하게 됩니다.

클리핑 함수에 넣어줘야 하는 값이 조금 복잡하게 적용되는 것 이외에는 그다지 어려운 점은 없습니다.
Bullet에서는 적과 충돌했을 때 스파크 이펙트를,

Neuroi1에서는 파괴되었을 때 폭발 이펙트를 각각 생성합니다.

폭발이펙트 그대로는 조금 작아보이길래 scale을 2.0(2*2배 크기)으로 지정해 줬습니다.
실행 결과

at 2016/01/10 19:56
덧글