トピック
つばさ☆ nsm2116

アクションゲームを作ろうとしていますDATAでマップは作ったけど地面の当たり判定のつけかたが分かりません

誰か教えてください 色々調べたが出てきません
1そうだね
プレイ済み
返信[1]
親投稿
Σ εαρ Malfoy-Malfoy
DATAでマップを作ったと言っても、何で作ったか(BG,SP,グラフィック,コンソールなど)によってやり方も変わってくるので具体的に説明した方が良いと思います。
1そうだね
プレイ済み
返信[2]
親投稿
1000‰ 1000par
BGなら二次元配列を作って、それぞれのX,Y座標の壁の有無を記録すればいいんじゃないかと。 そしてBGのY座標の分かれ目らへんで、配列を参照してそこが床かどうかを調べて、その結果に対してそれぞれ適した処理をすればなんとかなりそう。 アクションゲーム作ったことないから、あくまでこれは参考として扱ってくれぃ。
0そうだね
プレイ済み
返信[3]
親投稿
あきと SideBurnsM
つばささんは前も同じ質問をしているみたいですが、BGを表示して主人公が動いたりはしているんでしょうか? 作ったところまでアップロードしてもらって動いているソースを見ながらやりとりした方が早いかもしれませんね。
1そうだね
プレイ済み
返信[4]
親投稿
つばさ☆ nsm2116
あきとさん とりあえずキャラは動いてますジャンプも敵はできるけどいまはやってません 取り合えず分かりやすくするためにREMで説明入れときます。 次のコメントにキーをのせます
0そうだね
プレイ済み
返信[5]
親投稿
つばさ☆ nsm2116
公開キー 【ZKVE333V】名前 MII
0そうだね
プレイ済み
返信[6]
親投稿
あきと SideBurnsM
結構できてますね。 ちょっと手を入れてみました【43434PDX】 変更した内容ですが、 ・歩ける背景を0番にした。 ・一番下に「BGHANTEI」という関数を追加 ・P_X,P_Yという変数を追加 ・横移動後に横壁判定 ・ジャンプ計算後に縦壁判定 やっている事はまず移動する前の座標をP_X,P_Yに保存しておきます。 移動後にBGGET命令を4回呼び出して主人公の4隅の座標から取得できるBGチップNOが0じゃなかったらBGと重なったという事なので座標を戻します。 参考にしてみてください。
0そうだね
プレイ済み
返信[7]
親投稿
あきと SideBurnsM
背景が黒くなってしまいましたが、BG0面を背景のパーツでで塗りつぶして、BG1面にDATAを展開すれば同じ画面に戻すことはできます。 その際にはBGHANTEIの最初の引数も0から1に変更してください。
0そうだね
プレイ済み
返信[8]
親投稿
つばさ☆ nsm2116
分かりやすい説明ありがとうございます。 あきとさんのおかげで色々分かりました! (後は敵をランダムに動かすのか・・・・あれやり方・・)
0そうだね
プレイ済み
返信[9]
親投稿
あきと SideBurnsM
そういえばもう一つ変更がありました。 Aボタンを押し続けると何度もジャンプしてしまうのでBUTTON(0)とBUTTON(2)の2つのキー取得を使ってジャンプの検出を行っています。
0そうだね
プレイ済み
返信[10]
親投稿
あきと SideBurnsM
敵も出してみました。【N4H3H4】 DATAの中に「m」「e」という記号を増やして主人公と敵の初期位置が定義できるようにしました。 ・各処理をGOSUBで見やすくした ・敵を2体出した ・敵の移動処理を追加した ・敵は壁にぶつかるか、足下がないと向きを変える キャラ通しの判定はつけてません。あとは頑張ってください。
1そうだね
プレイ済み
返信[11]
親投稿
つばさ☆ nsm2116
とりあえず 敵とぶつからずにGOALまでいったらOKにしましたw
0そうだね
プレイ済み