自分の使っているstateの書き方

アニメの枚数を気にせずに当たり判定をつける hitdef攻撃を当てるにはtriggerでAnimelemで当たり判定のあるアニメのを指定しないといけませんね。 もしtrigger=1を使ってしまうと、攻撃が沢山あたってdamageが大ききなりすぎます。 そこで、Animelemの代わりにMoveContact=0を使うんです。 MoveContact=0は攻撃が当たっていないという意味を表します。 同ステート内で一度でも攻撃が当たれば、他のステートに行くまで当たらなくなります。 ガードされたら当たらなくなるGetHitVar(guarded)=0も一緒に使えば効果的です。 [State 1000] type = HitDef trigger1 = MoveContact=0;攻撃がヒットしてないか trigger1 =GetHitVar(guarded)=0;攻撃がガードされてないか attr = S, NA animtype = Medium getpower = 42 damage = 23 guardflag = MA pausetime = 0,0 hitsound = S0,0 guard.sparkno =S300 sparkno =S300 guardsound = 6,0 ground.type = High ground.slidetime = 12 ground.hittime = 13 ground.velocity = -5.5 air.velocity = -2.5,-4 Ground.CornerPush.VelOff = -10*Const(Size.XScale スーパーアーマー [Statedef -1](commandのステート)に [State -1] type = Helper trigger1 = NumHelper(50000) <1 ID = 50000 stateno = 50000 (stateno やIDは必要ならば変えてもいい) [State -1] type = LifeAdd trigger1 = 1 value = 0-Helper(50000),GetHitVar(damage) をコピペして、 その他のステートに [Statedef 50000] type = S movetype= I physics = S juggle = 4 ctrl = 0 anim=50000 sprpriority = -1 [State 1000,HitOverride] Type = HitOverride;ここでスーパーアーマーを設定します Trigger1 = 1 Attr = SCA,AA,AP StateNo = 50000;スーパーアーマーのステートナンバーです IgnoreHitPause = 1 SuperMoveTime = 999;念のため設定 PauseMoveTime =999 [State 181, 無敵] type = notHitBy trigger1 = 1 value = ,AT time = 60 [State 201, Push] trigger1 = 1 type = Lifeset value =9999 [State 201, Push] type = BindToParent trigger1 = 1 facing = 1 time = 1 [State 201, Push] type = AssertSpecial trigger1 = 1 flag = invisible [Statedef 50001,] type = S movetype = H physics = S anim=0 [State 1000,HitOverride] Type = HitOverride;ここでスーパーアーマーを設定します Trigger1 = 1 Attr = SCA,AA,AP StateNo = 50001;スーパーアーマーのステートナンバーです IgnoreHitPause = 1 SuperMoveTime = 999;念のため設定 PauseMoveTime =999 [State 201, Push] trigger1 = 1 type = Lifeset value =9999 [State 201, Push] type = BindToParent trigger1 = 1 facing = 1 time = 1 [State 201, Push] type = AssertSpecial trigger1 = 1 flag = invisible [State 201, Push] type = ChangeState trigger1 = HitShakeOver value =50000 これをコピペするだけです。 十字キーで空を飛ぶキャラ ジョジョのペットショップの様なキャラです。 [Statedef -1]に [State -1] type = velset trigger1 = command != "holdup" trigger1 = Stateno < 5000 trigger1 = pos Y <= 0 y = 0 [State -1] type = PosSet trigger1 = Pos Y < -240 y = -240 [State -1] type = velset trigger1 = Ctrl trigger1 = command = "holdup" trigger1 = Life != 0 trigger1 = P2Life != 0 y = -2.4 [State -1] type = velset trigger1 = Ctrl trigger1 = command = "holddown" trigger1 = Life != 0 trigger1 = P2Life != 0 y = 2.4 [State -1] type = ChangeState trigger1 = StateType = A trigger1 = AnimTime = 0 trigger1 = Life != 0 trigger1 = P2Life != 0 trigger1 = Stateno < 5030 value = 0 [State -1] type = velset trigger1 = Ctrl trigger1 = command = "holdfwd" trigger1 = command = "holddown" trigger1 = Life != 0 trigger1 = P2Life != 0 y = 2.4 x = const(velocity.walk.fwd.x) [State -1] type = velset trigger1 = Ctrl trigger1 = command = "holdfwd" trigger1 = stateno != 100 trigger1 = Life != 0 trigger1 = P2Life != 0 x = const(velocity.walk.fwd.x) [State -1] type = velset trigger1 = Ctrl trigger1 = command = "holdback" trigger1 = stateno != 105 trigger1 = Life != 0 trigger1 = P2Life != 0 x = const(velocity.walk.back.x) [State -1] type = velset trigger1 = Ctrl trigger1 = command = "holdup" trigger1 = command = "holdfwd" trigger1 = Life != 0 trigger1 = P2Life != 0 y = -2.4 x = const(velocity.walk.fwd.x) [State -1] type = velset trigger1 = Ctrl trigger1 = command = "holdback" trigger1 = command = "holddown" trigger1 = Life != 0 trigger1 = P2Life != 0 y = 2.4 x = const(velocity.walk.back.x) [State -1] type = velset trigger1 = Ctrl trigger1 = command = "holdup" trigger1 = command = "holdback" trigger1 = Life != 0 trigger1 = P2Life != 0 y = -2.4 x = const(velocity.walk.back.x) [State -1,n] type = Changeanim trigger1 = Ctrl trigger1 = Life != 0 trigger1 = P2Life != 0 trigger1 = anim != 21 value = 21 [State -1] type = PosSet trigger1 = Life != 0 trigger1 = P2Life != 0 trigger1 = Stateno < 5000 trigger1 = pos Y >= 0 y = 1 [State 20, 4] type = ChangeAnim trigger1 vel x = const(velocity.walk.fwd.x)||vel x = const(velocity.walk.back.x) trigger1 = SelfAnimExist(20) trigger1 = Anim != 20 value = 20 [State 20, 4] type = Changestate trigger1 =anim=10 trigger1 = command != "holddown" value = 0 これをコピペするだけです。 トップページに戻る