投稿
むゆー muyu-pon
ちょっと気になったので質問。 格闘ゲームでは1Pと2Pの場所が左右で入れ替わったとき、攻撃方向などが反転しますよね。あれってプログラムにすると面倒じゃないんですか?どういった方法で行っているんでしょうか?
3そうだね
プレイ済み
返信[1]
親投稿
らじおペンチ DOUGLAS-DC10
胴体と腕、足を別のスプライトにすると組みやすいですよ。
0そうだね
プレイ済み
返信[2]
親投稿
うちゅうじん kunieda.hnh
A=(1PのX座標)<(2PのX座標) とすると2Pが1Pより右側のとき1、左側のとき0がAに入ります。 これを使えば、どっちでも対応できるプログラムが出来るはずです。 (格闘ゲームは作ったことないから、もっといい方法があるかも)
0そうだね
プレイ済み
返信[3]
親投稿
むゆー muyu-pon
うちゅうじんさんの方法だと状態を取得することはできますね。 ただその後の動作が面倒そうな気がする。スプライトの向きとか全て逆になるわけですし。
0そうだね
プレイ済み
返信[4]
親投稿
らじおペンチ DOUGLAS-DC10
自機のx軸ー敵のx軸が正の数なら右、負の数なら左に攻撃、と言うプログラムをループさせる。
0そうだね
プレイ済み
返信[5]
親投稿
むゆー muyu-pon
Aを取得してIF文でAの中身に応じて反転させればできますね。 ただそれはよいのですが、そのあとの動作の座標も+と-が反転するので、プログラムが汚なくなっちゃいそうですね。
1そうだね
プレイ済み
返信[6]
親投稿
うちゅうじん kunieda.hnh
格闘ゲーム作るなら、それくらい普通だと感じるようにならなきゃ。 符号が欲しいなら、Aの式を少しいじって、±1の値が入るようにすればいい。
0そうだね
プレイ済み
返信[7]
親投稿
れい rei-nntnd
格ゲーは昔クラスのおしとやか系の女子にかっこいいとこ見せようと調子こいて勝負したら、実はマニアで残像が見えるくらいのスティックさばきで圧倒的大差でボコられて、情けまでかけてもらって以来トラウマでやらないからよくわからんのだけど はじめからキャラの相対位置に依らずに左右どっちの方向でも攻撃出せるように作っとけばいいんじゃないの?
2そうだね
プレイ済み
返信[8]
親投稿
ヨッシー okkun2002
スマブラとか、そういう系なら普通になにもしなくていいような…
0そうだね
プレイ済み
返信[9]
親投稿
けい kei0baisoku
>れいさん なにそのリアルハイスコアガール(°ω°) >むゆーさん 地道に作ると、右向きか左向きかで全部IF文で分けることになるからプログラム倍になっちゃう! という事でしょうか? 短いプログラムなら力技でそれで乗り切っても大丈夫だと思いますが、格ゲーみたいにちゃんとしたものですと確かに地獄になりそうです。 抽象的なアドバイスになりますけど、「方向」を具体的に書かず、必ず変数や関数で抽象化してプログラムにすると大分楽になります。 ↓こんな感じ '飛び道具発射、向いてる方向へ100ドット飛ばす SPANIM IX,"XY+",120,DIR(0)*100,0,1 ※ DIR()は、キャラの向きが右なら1、左なら-1を返す自作関数。引数が0なら1P、1なら2P
0そうだね
プレイ済み
返信[10]
親投稿
むゆー muyu-pon
なるほどー… Aに+1か-1が入るようにすればかなり楽になる…と、これでできそうですね、ありがとうございます! キャラの場所とか関係なく、どの方向へでも攻撃が出せるようにする。 そういう方法もあるか…
1そうだね
プレイ済み