トピック
けんた nishisab

画面中央のキャラクター(勇者?)と画面左上のスライムの当たり判定はどうすればいいですか?(攻略本の通りにSPCOLとSPHITSPを使ったのですが、出来ませんでした・・・)

0そうだね
プレイ済み
返信[1]
親投稿
けんた nishisab
これがプログラムです。(この下にもありますが、そこは、ボタン判定です。)
0そうだね
プレイ済み
返信[2]
親投稿
ツララ LongIceSword
スプライトで当たり判定をする時の手順は SPSET命令→SPCOL命令→SPHITSP命令で、この順番を経ないとコマンドの引数の未設定エラーみたくなるんですね。 当たり判定は、「当たり判定領域」が「重なった時」にどういう処理をするかって事ですから、一通り設定した後は判定したいスプライトの座標を近づけて行く処理を書いて、それぞれのスプライトの座標も表示するようなサンプルプログラムを書いてみると分りやすいと思いますよ。
0そうだね
プレイ済み
返信[3]
親投稿
natto- natto-3030
勇者の管理番号が0、スライムが1とします。 (中略) SPSET 0,497 SPSET 1,1057 SPOFS 0,80,90'ここの数字は0以外変えてok SPOFS 1,100,120'ここも SPCOL 0,TRUE SPCOL 1,TRUE S=SPHITSP(0,1)'第二書式 IF S==TRUE THEN (させたいこと) こんな感じでどうでしょう。 複数何かをやらせたい時は:(コロン)で区切るか、THENで改行してやりたいことを行ごとに書いて、最後にENDIFでできます。 長くなってしまいすみません。
0そうだね
プレイ済み
返信[4]
親投稿
けんた nishisab
ありがとうございます!
1そうだね
プレイ済み
返信[5]
親投稿
けんた nishisab
やってみたのですが・・・出来ませんでした・・・
0そうだね
プレイ済み
返信[6]
親投稿
natto- natto-3030
LOOPさせましたか?プログラムは上から下へ高速で読み込んでいってしまうのでLOOPしないとすぐ終わってしまいます・・・ 僕のやつの最初に@Loop、最後にGOTO @Loopを付ける方法が一番簡単です。
0そうだね
プレイ済み
返信[7]
親投稿
けんた nishisab
ボタン判定でループさせているので、プログラムはずっとループしています。さっきコメントの意味は、当たり判定ができないと言う問題です。
0そうだね
プレイ済み
返信[8]
親投稿
ツララ LongIceSword
SPSETとSPCOLは一回実行しておけばその後は再度実行するか、プログラムを終了させるかしなければずっと有効なので、ループの中に入れておく必要があるのはSPOFS命令とSPHITSP命令とIF文だけだと思いますけど、 もしかしたら、当たり判定をする処理のところだけラベルジャンプして素通りしてるとかだったりしません?
1そうだね
プレイ済み
返信[9]
親投稿
けんた nishisab
そうすれば出来ました! ありがとうございました!
1そうだね
プレイ済み