출처 :  explod 코드 강좌 - M.U.G.E.N. 마이너 갤러리 (dcinside.com) 

작성자 : SAE


이번에는 explod 강좌를 써볼까 함. 이건 뭐하는 코드냐. 간단하게 말하면 공격에 이펙트를 추가해주는 코드임.


기술 하나 만들 때 10의 5은 꼭 쓰게 되는 코드인데 비슷한 용도로 쓰이는 코드는 helper라는 코드임. 이건 다음에 써볼까 함.


[State 0, Explod]

type = Explod

trigger1 = animelem =

이제부터 이건 생략하겠음. 이미 강좌쓰면서 몇번이나 쓰는 법을 써놨음.


anim = 숫자

anim에 air파일에 있는 애니메이션 번호를(파이터팩토리로 확인하면 됨Explod에 적용시키면 해당 기술을 썼을 때 해당 애니메이션이 나옴.



ID = 숫자

Explod의 ID를 지정할 수 있음. 주로 numexplod라는 파라미터나 RemoveExplod처럼 explod와 관련된 코드를 사용할 때 쓰일텐데 상당히 많이 쓰니까 설정해두면 좋음.


pos = X축(정수), Y축(정수)

이펙트의 위치를 조정함. x축은 양수값이 높을 수록 기준보다 앞에 위치하고, 음수값이 높을 수록 뒤로 위치됨. y축은 반대로 음수값이 높을 수록 위로 위치되고, 양수값이 높을 수록 아래로 위치됨.


postype = p1 ;p2,front,back,left,right

이펙트를 어디에 기준을 두는지 설정함. 순서대로 자신, 상대, 앞, 뒤, 왼쪽, 오른쪽을 뜻한다는 말임.


facing = 1 or -1

이펙트가 바라보는 위치임. -1로 설정하면 방향이 반대가 됨.


vfacing = 1 or -1

위 facing이 좌우로 반전된다면 이건 위아래로 반전됨.


bindtime = 정수

이펙트가 해당 시간만큼 postype로 설정한 기준에 따라붙게 할 수 있음. 이건 상황에 따라 쓰면 되는데 쓰게 되면 보통 -1로 쓰는 경우가 많음. -1은 explod가 사라질 때까지 유지된다는 뜻임. 예를 들어 postype를 p1으로 하고 bindtime을 -1로 설정하면 explod가 사라질 때까지 explod가 자신에게 같이 따라붙는다는 말임. 이건 ExplodBindTime라는 코드를 이용해서 도중에 값을 변경할 수 있음.


vel = X축(실수), Y축(실수)

이펙트에 속도를 줄 수 있음. 이펙트를 움직이게 만들고 싶을 때 씀.


accel = X축(실수), Y축(실수)

위랑 비슷한데 이건 가속도임.


random = X축(정수), Y축(정수)

이펙트 위치를 랜덤하게 설정 할 수 있음. 예를 들어 pos x축이 0이고 random x축이 100이라면 explod의 pos x축이 0~100 사이의 임의의 위치로 설정됨. 이건 pos에 varrandom이라는 코드를 적용한 var를 넣는 방식으로 대체하는 것도 가능해서 꼭 사용할 필요는 없음.


removetime = 실수

이펙트를 얼마나 시간이 지나서 사라지게 할거냐를 정함. 기본값은 -2고 -1로 하면 애니메이션이 끝나지 않고 계속 유지됨. 그럴 경우 RemoveExplod라는 코드를 이용하여 별도로 종료시켜야 됨.


pausemovetime = 정수

Pause나 SuperPause에 의해 시간이 정지되었을 때 이펙트를 얼마나 움직일 수 있게 할 것이냐를 설정함.


scale = X축 크기(실수) , Y축 크기(실수)

이펙트의 크기 배율을 설정할 수 있음. 기본값은 각각 1이고 1보다 큰 값은 이펙트가 원본보다 커지는거고, 1보다 작은 값은 이펙트가 원본보다 작아짐.


sprpriority = 정수

이펙트의 우선 순위를 정함. 예를 들어 explod의 sprpriority가 statedef의 sprpriority보다 값이 크면 이펙트가 캐릭터보다 앞에 표시됨.


ontop = 0 or 1

1로 할 경우 sprpriority값과 상관없이 모든 익스플로드와 스테이지의 백그라운드레이어의 앞에 표시된다고 다른 강좌에 써있는데 말이 어려워서 그렇지 그냥 이걸 1로 하면 우선 순위 상관없이 ontop = 1로 쓴 이펙트가 무조건 앞으로 나오게 보인다는 얘기임. 심지어 캐릭터 스프라이트보다 앞에 표시됨.


shadow = 정수,정수,정수

이펙트에 그림자를 설정할 수 있음. RGB값을 넣으면 되는데 그닥 쓰는 경우가 잘 없음.


ownpal = 0 or 1

1로 하면 palfx의 효과로 색이 변하지 않게 됨. 거의 무조건 1로 쓴다고 보면 되는데 예를 들어 이오리의 어둠쫒기 같이 palfx에 적용된 hitdef이나 projectile에 맞으면 캐릭터의 몸이 지정된 색으로 변하잖아? 근데 만약 이거 값을 0으로 하면 공격에 맞았을 때 explod까지 같이 색이 변해버리는 현상이 있음.


removeongethit = 0 or 1

1로 하면 캐릭터가 explod가 유지되는 중 공격을 맞았을 때 explod가 사라지게 됨. 나는 자주 쓰는 편임.




explod는 쓰잘데기 없는 파라미터가 많은 다른 코드와는 다르게 대부분의 파라미터들이 쓰임새가 많은 것 같음. ModifyExplod나 ExplodBindTime같이 파생되는 코드도 꽤 있음.