えー、クリスマスですね。
自宅でケーキ食べてました。
それはそうと前回の予定通りシェリス様作成動画を投稿しました。が、進捗はほぼないです。スマヌ。
代わりといってはなんですが、おまけが2個あります。良かったら見ておくれ
最後のパレットはくるみのやつ + 全サポート分です。大きいのはTwitpicにあります。
↑の画像をクリックでTwitpicに飛びます。隙間がねぇ。
クリスマ萃香に挑んでみたんですよ
いや、なんかTwitter上でちょろっと話題になったのでGルガールで挑んでみたんだ。
ゴッドプレスループでダメージ稼がないと俺の腕ではAI Level 11は無理でした(´・ω・`)
その他
今作ってるものとかを挙げると、
- 【Program】アクションゲームエンジン
- 某氏の企画用。来年公表できたらいいなぁ
- 【MUGEN】魔が堕ちる夜 ザーバッハチルドレンNo.7 ブラックアート・シェリスエルネス=ザーバッハ
- 【MUGEN】アルカナハート3 シャルラッハロート (必須埋まってない)
- 【MUGEN】白レン (方針がダミアンアーミー従えたヴァンプリ仕様になりました)
- 【MUGEN】箱レン (スプライトってかパレット整理中)
- 【MUGEN】ヴァンガード・プリンセス くるみ (パレット整理完了・SFF未着手)
- 【Program】MUGEN用ツール類
- mcpp -MUGEN CNS Pre-Processor- (完成)
- mcdoc -MUGEN CNS Documenter- (企画段階)
- sffup / sffdown / sffextract / sffarchiver (全部企画段階)
- その他バグ対応
- スマヌ(´・ω・`)。まだ対応しきれんのよ
- てか今公開してるキャラ全部にちょっとしたバグがが
- スマヌ(´・ω・`)。まだ対応しきれんのよ
…こんなもんか?
来年はとりあえずゲームエンジン完成させないとならんので、シェリス様とかの完成がさらに遠のきますなぁ…
キャラとしては箱レン優先かなぁ…
では、良いお年を *1
シャルラッハロートの結鎖ケテンの処理方法について
単に先端と鎖の画像を0°〜179°回転した画像を登録して、360°回転済みAIRを用意しただけです。
それを開始点<=>終点間にループで配置しただけです。*2
角度計算とかはatan関数でできるので、座標系をMUGENに合わせて*3表示する画像を選択するだけですね。
;==============================================================================; ; 要鎖シュリンゲ ;==============================================================================; [Statedef 1000] type = S movetype = I physics = S anim = 1000 ctrl = 0 facep2 = 1 ;-------[ Vars ]-------; [State 1000: Var, 1] type = VarSet trigger1 = Time = 0 v = 40 value = (var(40) + 1) % 3 ;-------[ Mines ]-------; [State 1000: Mine] type = Helper trigger1 = AnimElem = 4 helpertype = Normal name = "Mine" stateno = 15000 id = 15000 postype = p1 pos = Floor(Const480p(320)), Floor(Const480p(-160)) ownpal = 1 ;-------[ States ]-------; [State 1000: Standing] type = ChangeState trigger1 = AnimTime = 0 value = 0 ctrl = 1 [Statedef 1001] type = S movetype = I physics = S anim = 1000 ctrl = 0 facep2 = 1 ;-------[ Vars ]-------; [State 1000: Var, 1] type = VarSet trigger1 = Time = 0 v = 40 value = (var(40) + 1) % 3 ;-------[ Mines ]-------; [State 1000: Mine] type = Helper trigger1 = AnimElem = 4 helpertype = Normal name = "Mine" stateno = 15000 id = 15000 postype = p1 pos = Floor(Const480p(320)), Floor(Const480p(-240)) ownpal = 1 ;-------[ States ]-------; [State 1000: Standing] type = ChangeState trigger1 = AnimTime = 0 value = 0 ctrl = 1 [Statedef 1002] type = S movetype = I physics = S anim = 1000 ctrl = 0 facep2 = 1 ;-------[ Vars ]-------; [State 1000: Var, 1] type = VarSet trigger1 = Time = 0 v = 40 value = (var(40) + 1) % 3 ;-------[ Mines ]-------; [State 1000: Mine] type = Helper trigger1 = AnimElem = 4 helpertype = Normal name = "Mine" stateno = 15000 id = 15000 postype = p1 pos = Floor(Const480p(320)), Floor(Const480p(-320)) ownpal = 1 ;-------[ States ]-------; [State 1000: Standing] type = ChangeState trigger1 = AnimTime = 0 value = 0 ctrl = 1 ;==============================================================================; ; 結鎖ケテン ;==============================================================================; [Statedef 1100] type = S movetype = I physics = S anim = 1100 ctrl = 0 facep2 = 1 ;-------[ Chain ]-------; [State 1100: Chain] type = Helper trigger1 = AnimElem = 5 helpertype = Normal name = "Chain" stateno = 10000 id = 10000 postype = p1 pos = 0, 0 ownpal = 0 sprpriority = 2 ;-------[ States ]-------; [State 1100: Stop] type = ChangeState trigger1 = Time >= 120 value = 1101 ctrl = 0 [Statedef 1101] type = S movetype = I physics = S anim = 1101 ctrl = 0 ;-------[ States ]-------; [State 1101: Standing] type = ChangeState trigger1 = AnimTime = 0 value = 0 ctrl = 1 ;==============================================================================; ; [ ヘルパー ] ; ;==============================================================================; ;==============================================================================; ; 鎖 ;==============================================================================; [Statedef 10000] type = A movetype = I physics = N anim = 9999 ;-------[ Slot ]-------; [State 10000: Slot, 1] type = VarSet triggerall = Time = 0 trigger1 = Root,NumHelper(15000) = 1 v = 40 value = 41 + Root,var(40) [State 10000: Slot, 2] type = VarSet triggerall = Time = 0 trigger1 = Root,NumHelper(15000) = 2 v = 40 value = 41 + (Root,var(40) + 2) % 3 [State 10000: Slot, 3] type = VarSet triggerall = Time = 0 trigger1 = Root,NumHelper(15000) = 3 v = 40 value = 41 + (Root,var(40) + 1) % 3 [State 10000: Safety] type = DestroySelf triggerall = Time = 0 trigger1 = Root,NumHelper(15000) != [1, 3] trigger2 = !PlayerIDExist(Root,var(var(40))) ;-------[ Angles ]-------; [State 10000: Pos, 1, X] type = VarSet trigger1 = Time = 0 trigger1 = PlayerIDEXist(Root,var(var(40))) fv = 0 value = Pos X [State 10000: Pos, 1, Y] type = VarSet trigger1 = Time = 0 trigger1 = PlayerIDEXist(Root,var(var(40))) fv = 1 value = Pos Y [State 10000: Pos, 2, X] type = VarSet trigger1 = Time = 0 trigger1 = PlayerIDEXist(Root,var(var(40))) fv = 5 value = PlayerID(Root,var(var(40))),Pos X [State 10000: Pos, 2, Y] type = VarSet trigger1 = Time = 0 trigger1 = PlayerIDEXist(Root,var(var(40))) fv = 6 value = PlayerID(Root,var(var(40))),Pos Y [State 10000: Distance, X] type = VarSet trigger1 = Time = 0 trigger1 = PlayerIDExist(Root,var(var(40))) fv = 10 value = fvar(5) - fvar(0) [State 10000: Distance, Y] type = VarSet trigger1 = Time = 0 trigger1 = PlayerIDExist(Root,var(var(40))) fv = 11 value = fvar(6) - fvar(1) [State 10000: Angle] type = VarSet trigger1 = Time = 0 trigger1 = PlayerIDExist(Root,var(var(40))) trigger1 = fvar(10) != 0 fv = 2 value = -1 * Atan(fvar(11) / fvar(10)) [State 10000: Angle, 2] type = VarSet trigger1 = Time = 0 trigger1 = PlayerIDExist(Root,var(var(40))) trigger1 = fvar(10) = 0 fv = 2 value = ifelse(fvar(11) > 0, 90, 270) [State 10000: Time] type = VarSet trigger1 = Time = 0 trigger1 = PlayerIDExist(Root,var(var(40))) v = 0 value = 0 [State 10000: Vel] type = VarSet trigger1 = Time = 0 trigger1 = PlayerIDExist(Root,var(var(40))) fv = 3 value = 16 [State 10000: Goto] type = ChangeState trigger1 = Time = 0 value = 10001 [Statedef 10001] type = U movetype = U physics = U ctrl = 0 ;-------[ Variables ]-------; [State 10001: Time Update] type = VarAdd trigger1 = Time = 0 v = 0 value = 1 [State 10001: Pos Update] type = VarSet trigger1 = Time = 0 fv = 20 value = fvar(3) * cos(fvar(2)) * var(0) [State 10001: Pos Update, 2] type = VarSet trigger1 = Time = 0 fv = 21 value = -1 * Facing * fvar(3) * sin(fvar(2)) * var(0) ;-------[ States ]-------; [State 10001: Goto Wait] type = ChangeState triggerall = Time = 0 trigger1 = ifelse(Facing > 0, fvar(20) >= fvar(10), fvar(20) <= fvar(10)) trigger2 = fvar(21) <= fvar(11) value = 10005 [State 10001: Goto View] type = ChangeState trigger1 = Time = 1 value = 10002 ; draw head [Statedef 10002] type = U movetype = U physics = U ctrl = 0 [State 10002: Remove] type = RemoveExplod trigger1 = Time = 0 id = 10000 [State 1002: Remove Chain] type = RemoveExplod trigger1 = Time = 0 id = 12000 ;-------[ Head ]-------; [State 10002: Head] type = Explod trigger1 = Time = 0 id = 10000 anim = 10000 + Floor(Facing * fvar(2) * 180.0 / PI) postype = p1 pos = Floor(fvar(20)), Floor(fvar(21)) ownpal = 0 removetime = -1 ;-------[ Chains ]-------; [State 10002: Chain] type = ChangeState trigger1 = Time = 0 value = 10003 [Statedef 10003] type = U movetype = U physics = U ctrl = 0 ;-------[ Vars ]-------; [State 10003: Update Pos] type = VarAdd trigger1 = Time = 0 fv = 20 value = (0 - 30 * cos(fvar(2))) [State 10003: Update Pos, 2] type = VarAdd trigger1 = Time = 0 fv = 21 value = Facing * 30 * sin(fvar(2)) ;------[ Chain ]------; [State 10003: chain] type = Explod trigger1 = Time = 0 id = 12000 anim = 12000 + Floor(Facing * fvar(2) * 180.0 / PI) postype = p1 pos = Floor(fvar(20)), Floor(fvar(21)) ownpal = 0 removetime = -1 ;------[ State ]-------; [State 10003: Loop] type = ChangeState triggerall = Time = 0 trigger1 = fvar(20) > 0 trigger1 = fvar(21) < 0 value = 10003 [State 10003: Return] type = ChangeState triggerall = Time = 0 trigger1 = fvar(20) <= 0 trigger2 = fvar(21) >= 0 value = 10001 [Statedef 10005] type = U movetype = U physics = U ctrl = 0 ;-------[ Null ]-------; [State 10005: null] type = Null trigger1 = 0 ;==============================================================================; ; 設置 ;==============================================================================; [Statedef 15000] type = A movetype = I physics = N anim = 15000 ctrl = 0 ;-------[ Slots ]-------; [State 15000: Var, 1, Slot] type = VarSet trigger1 = Time = 0 v = 40 value = 41 + Root,var(40) [State 15000: Var, 2] type = ParentVarSet trigger1 = Time = 0 v = var(40) value = ID ;-------[ Effects ]-------; [State 15000: Rotate] type = AngleDraw trigger1 = 1 value = Time % 360 ;-------[ States ]-------; [State 15000: Destroy] type = DestroySelf trigger1 = Root,var(var(40)) != ID