プチコン3号 SmileBASIC コミュニティトピックアホテレビデオ Ryu61902016/02/20 19:02:26質問SPHITSPについて複数のスプライトと重なってしまうときにスプライト一つしか感知されないのですが、どうすれば複数感知できますかね?6そうだね 6返信プレイ済み2017/11/03 18:19:49に取得
プチコン3号 SmileBASIC コミュニティ返信[1]親投稿つばさ☆ nsm21162016/2/20 19:08それ、思ってた。自分の検証ではないと思われますがね。 配列の場所で指定ならいけるかも……0そうだね プレイ済み2017/11/03 18:19:49に取得
プチコン3号 SmileBASIC コミュニティ返信[2]親投稿あまさと しおん ShionAmasato2016/2/20 19:10INSTRと同じ問題だよね。 1.検知する 2.1で検知したよりも後ろを探す 3.2で検知したよりも後ろを探す 検知がなくなるまで繰り返す3そうだね プレイ済み2017/11/03 18:19:49に取得
プチコン3号 SmileBASIC コミュニティ返信[3]親投稿ペンコ penkogoma2016/2/20 22:22SPHITSPのヘルプに書いてある 管理番号ってやつでそれぞれ判定すれば良いかも。 試したことないけど・・・。1そうだね プレイ済み2017/11/03 18:19:49に取得
プチコン3号 SmileBASIC コミュニティ返信[4]親投稿でんぺん DENPEN2016/2/20 23:37MY=0:H=-1 REPEAT H=SPHITSP(0, H+1, 511) IF H >=0 THEN PRINT MY;"が";H;"のスプライトにあたった!" UNTIL H==-1 例えばこうやれば全部の当たりでPRINTが呼び出されます。 0そうだね プレイ済み2017/11/03 18:19:49に取得
プチコン3号 SmileBASIC コミュニティ返信[5]親投稿BlackSoft BlackSoft.mkII3g2016/2/22 19:52一度に複数の当たりを検知することはできないので、 皆さんの言うようにループ処理で順次判定していくことになります。 次のようなやり方はいかがでしょうか。 WHILE HID!=-1 HID=SPHITSP(0) IF HID!=-1 '処理 SPCOL HID,0,0,16,16,1,&H0 'フラグを落とす ENDIF WEND フラグを0にすると、以降は当たり判定で検知されません。 これを利用して、スプライト0番とヒットしているもの全て について処理を行います。1そうだね プレイ済み2017/11/03 18:19:49に取得
プチコン3号 SmileBASIC コミュニティ返信[6]親投稿ねこはち neko800012016/3/9 17:31敵とジャンプ台等、処理が違うものが重なって困る場合(ジャンプ台が判定されずにすり抜けてしまう等)は、複数同時判定をするよりも、処理分岐ごとに判定をしてやるのが良いと思います。 0=マリオ 1~99=敵キャラ 100~255=ジャンプ台 IF SPHITSP(0,1,99)>-1 THEN やられorマリオサイズダウン処理 IF SPHITSP(0,100,255)>-1 THEN ジャンプ台接触処理 2そうだね プレイ済み2017/11/03 18:19:49に取得