トピック
ななし basuku13

質問

スライムをたおしたら扉が開き、扉に入ったら次のステージにいける。というギミックのプログラムのしかたが分かりません。 初心者なので詳しく教えてもらえるとありがたいです。 キー KA8NE8X
1そうだね
プレイ済み
返信[1]
親投稿
あきと SideBurnsM
サンプルを作見ながら自分用ゲームの画面を作ったんですね。 手伝えるかもしれませんが、まずはどんな方法で攻撃したいと思っていますか? 落としてみたら主人公は自由に移動できていましたが、投稿画面の説明からすると横移動はしないで弓矢の距離がボタンを押している長さで変わるみたいな感じでしょうか。 ・もう一つスプライトを登録しましょう。 ・弓矢の絵を見つけてSPCHRで変えましょう ・SPCOLを全ての管理番号で呼び出すと当たり判定ができるようになります。  SPHITSPという関数を調べてみましょう。
1そうだね
プレイ済み
返信[2]
親投稿
あきと SideBurnsM
他にも今の動きのまま剣で斬りたいとか。 実はコマンド選択で戦闘したいとか、宝石が3つ以上並んだら攻撃だとか、とりあえずやりたいことを教えて下さい。(できますがどんどん手間は増えます)
0そうだね
プレイ済み
返信[3]
親投稿
ななし basuku13
今の動きのまま剣で斬りたいです。
0そうだね
プレイ済み
返信[4]
親投稿
あきと SideBurnsM
Bボタンで剣を振り、敵に剣が触れると点滅するサンプルを作りました。 【N3V3BE4D】ファイル名「SP_」 SPLINKという関数を使って剣のスプライトが主人公についてくるようにしています。 @CHECKというサブルーチンで当たり判定をしています。 あとは体力の変数を追加して攻撃したら減るようにしてみるとかでしょうか。 LOAD関数は後ろに,0をつけると確認がなくなるので起動が楽になりますよ
1そうだね
プレイ済み
返信[5]
親投稿
ななし basuku13
ありがとうございます。 さっそく参考にしたいと思います。
0そうだね
プレイ済み
返信[6]
親投稿
ななし basuku13
あきとsのサンプルを参考にして、弓を追加しましたが、十字ボタンを押しながらAボタンを押し、Aボタンをはなすと弓をもちながら移動してしまいます。 解決策が分かったら教えてください。よろしくお願いします。
0そうだね
プレイ済み
返信[7]
親投稿
ななし basuku13
キー EKANY3LX
0そうだね
プレイ済み
返信[8]
親投稿
あきと SideBurnsM
見てみました。まず絵が止まる原因ですが85行目のキー判定処理にあります。 主人公が歩くアニメをするのは弓を引いていない時に左右にキーを入れ「始めた」時です(B2)。そのため弓を射る前に左右キーを押しっぱなしにしてしまうと85行目の判定に該当しなくなってしまいます。 直し方はななしさんが弓を飛ばした後どのような主人公の動きにするのか自分で組まないといけないですね。
0そうだね
プレイ済み
返信[9]
親投稿
あきと SideBurnsM
歩く・剣を振る・弓を引くという主人公が今行っている行動を管理する変数を追加して歩いているとき以外は他の行動ができないようにする必要がありそうです。 もう一つ、メインループが長くなっているのが気になります。GOSUBではなくGOTOを使っていることでメインループのなかで処理を分岐させているようですが、弓を引いているときは処理が伸び、そう出ないときはループするのであれば弓矢の処理をGOSUBで切り分けた方が見通しが良くなりますよ。
0そうだね
プレイ済み
返信[10]
親投稿
ななし basuku13
毎回詳しい解説ありがとうございます。 矢を射る前に左右キーを押していても歩くアニメを表示出来るようにするには、どうすればいいですか。
0そうだね
プレイ済み
返信[11]
親投稿
あきと SideBurnsM
歩くアニメと弓のことだけ考えた場合の対処方を書きます。 弓矢を放った後の主人公の姿にこだわりが無いのであれば「Aボタンを離した」時に歩くアニメを呼び出せば直ると思います。 たぶん弓矢を打つ方向を保存していると思うので歩きアニメの向きもそれで指定できるのでは。 弓矢が当たるまで放った姿を残したいという事になると上に書いたように主人公は今何をしているかと言うことを管理する変数が必要になるでしょう。
1そうだね
プレイ済み
返信[12]
親投稿
ななし basuku13
解決できました。 本当にありがとうございました。
0そうだね
プレイ済み