fc2ブログ

本体HitOverRideでもちゃんとスーパーアーマーやる方法

どうも。


作業量が多くてゲンナリ中なので記事に逃げます。



今回は本体アーマー(本体のHitOverRideで作るアーマー)の話。




以前から何度か言ってる気がするんですが、
本体のHitOverRideでスーパーアーマーを作ると、

被弾時にモーションが振り出しに戻ってしまい、
何度も同じ動作を繰り返してしまうことがありました。



どうやらそれを完全に克服できたようなので報告します。


わかってしまえば簡単なことで、
アニメーションが戻ってしまうんなら
こんなふうに



;-------------------------------------------------------------------------------
;アーマーがつく技のStateDef
[StateDef XXX0]
type = S
movetype = A
physics = S
ctrl = 0
velset = 0,0
hitdefpersist = ifelse(PrevStateNo = XXX1, 1, 0)
movehitpersist = ifelse(PrevStateNo = XXX1, 1, 0)

[State ChangeAnim]
type = ChangeAnim
triggerall = Time = 0
trigger1 = PrevStateNo != XXX1
value = XXX0

[State HitOverRide先から戻ってきたら]
type = ChangeAnim
triggerall = Time = 0
trigger1 = PrevStateNo = XXX1
value = XXX0
elem = Var(N)



[State AnimElemNo格納]
type = VarSet
trigger1 = 1
var(N) = AnimElemNo(0)




[State HitOverRide]
type = HitOverRide
trigger1 = Var(N) = [,]
attr = SCA,AA,AP
stateno = XXX1
ignorehitpause = 1

(略)

;-------------------------------------------------------------------------------
;アーマーで飛んだ先
[StateDef XXX1]
type = U
movetype = H
physics = U
ctrl = 0
hitdefpersist = 1
movehitpersist = 1

(略)

;-------------------------------------------------------------------------------


戻ってしまう前の絵をVarに保存しておけばいいって話でした。



これでジャガノのパワーアッパワーアッ現象とか、
トキのセッカッコセッカッコセッカッコー現象とかも修正可能です。



まあ変数食うのは難点ですが、
そのステートでしか使わないので使い回し可能です。




というわけでまたいずれ。

響も半蔵も、あと脳内WIPのレンとかクリスも形にしなきゃなー・・・

2 Comments

モジャック

アーマーの飛んだ先でアニメの変更をしないのであれば

;アーマーがつく技のStateDef
[StateDef XXX]
type = S
movetype = A
physics = S
ctrl = 0
velset = 0,0
hitdefpersist = ifelse(PrevStateNo = XXX1, 1, 0)
movehitpersist = ifelse(PrevStateNo = XXX1, 1, 0)

[State ChangeAnim]
type = ChangeAnim
trigger1 = Anim != XXX
value = XXX

(略)

;-----------------------------------------------------------------------
;アーマーで飛んだ先
[StateDef XXX1]
type = U
movetype = H
physics = U
ctrl = 0
hitdefpersist = 1
movehitpersist = 1

[State HitOverRide先]
type = ChangeAnim
trigger1 = 1
value = Anim
elem = AnimElemNo(0)

(略)

でも良さそうですね。
これなら変数使わずに済みますし。

ShipSilverstar

ShipSilverstar

Re: タイトルなし

> アーマーの飛んだ先でアニメの変更をしないのであれば
>
> ;アーマーがつく技のStateDef
> [StateDef XXX]
> type = S
> movetype = A
> physics = S
> ctrl = 0
> velset = 0,0
> hitdefpersist = ifelse(PrevStateNo = XXX1, 1, 0)
> movehitpersist = ifelse(PrevStateNo = XXX1, 1, 0)
>
> [State ChangeAnim]
> type = ChangeAnim
> trigger1 = Anim != XXX
> value = XXX
>
> (略)
>
> ;-----------------------------------------------------------------------
> ;アーマーで飛んだ先
> [StateDef XXX1]
> type = U
> movetype = H
> physics = U
> ctrl = 0
> hitdefpersist = 1
> movehitpersist = 1
>
> [State HitOverRide先]
> type = ChangeAnim
> trigger1 = 1
> value = Anim
> elem = AnimElemNo(0)
>
> (略)
>
> でも良さそうですね。
> これなら変数使わずに済みますし。


動くようならきっとそれでいいと思いますー。

Anim != XXX 
のトリガーでは防げなかったんで、
見えないところでAnimが変わってんのかなと思って変数使ってますー

  • 2019/06/15 (Sat) 19:39
  • REPLY