投稿
ひぶくろ jirasan
質問です。 SPCOL 0,1,1,16,16,&H0000FFFF SPCOL 0,1,1,16,16,&H0000FFFF で、衝突判定したときに、衝突なしにしたいのですが、 SPHITSP(0,1)で衝突判定すると、 衝突していることになります。 どうやったら、マスクが効いてくるのか、知っていたら教えてください。
3そうだね
プレイ済み
返信[1]
親投稿
ひぶくろ jirasan
間違えました。 SPCOL 0,0,0,16,16,&H0000FFFF SPCOL 1,0,0,16,16,&H0000FFFF でした。スプライト0と1です。
0そうだね
プレイ済み
返信[2]
親投稿
この2つで衝突なしにするなら、例えば片方を SPCOL 1,0,0,16,16,&HFFFF0000 にすればなしになると思いますよ。
0そうだね
プレイ済み
返信[3]
親投稿
まず、マスク文字列とは、 SPCOL 0,0,0,16,16,&b11110000 SPCOL 1,0,0,16,16,&b11110000 SPCOL 2,0,0,16,16,&b00001111 とします。
0そうだね
プレイ済み
返信[4]
親投稿
次に、一番右にある『&b~』とかよくわからないものを縦に並べます。 11110000 11110000 00001111
0そうだね
プレイ済み
返信[5]
親投稿
この数字を見て、縦一列に1と0が一つでも組になる数字はありませんか? この場合、スプライト0とスプライト1が同じ所がありますよね。スプライト2は、同じ所がないですよね。つまり、同じ所があるスプライトのみ判定ができるのです。
0そうだね
プレイ済み
返信[6]
親投稿
ひぶくろ jirasan
写真のプログラムで試しましたが、スプライト1、2ともにTRUEで返ってきてしまいます。 何がいけないのでしょうか?
0そうだね
プレイ済み
返信[7]
親投稿
一見合ってそうに見えますね。てかなんか見落としてる可能性もあるけど。 短いプログラムなので打てなくはないですが公開キーがあったら実際に動かして不具合を探すことも出来ますよ。
0そうだね
プレイ済み
返信[8]
親投稿
べー mmmggg
まずSPCOLのパラメータですが本体付属のマニュアルでは …][ ,スケール対応][… となっていますが オフィシャルHPの命令表では … ,[スケール対応], … となっているので SPCOL 0,0,0,16,16, ,&H0000000F が正しいのだと思われます ただ、これでもうまくいきませんでした でもSPHITSP(0)はうまくいくようになりました ひょっとしたら2引数のSPHITSPはマスクを判定しない仕様なのかもしれません
0そうだね
プレイ済み
返信[9]
親投稿
STiNGER STiNGER8901
スケール対応の有無の指定は省略せずに SPCOL 0,0,0,16,16,TRUE,&H0000FFFF と書く癖をつけるのが確実みたい。
0そうだね
プレイ済み
返信[10]
親投稿
ひぶくろ jirasan
公開キー【SK8XE2AE】です。 皆さんありがとうございます。 スケール対応が、抜けていたのは途中で気づいたのですが、やっぱりよくわかりません。SPHITSP(0) でうまくいった報告もありますが、自分はできませんでした。ううーん。
0そうだね
プレイ済み
返信[11]
親投稿
べー mmmggg
【NK2KVJJY】 SPHITSP(0)で、ってのはこういう感じです
0そうだね
プレイ済み
返信[12]
親投稿
ひぶくろ jirasan
ありがとうございます! セーブして開き直したらなんだかうまくいきました! お世話になりました!
0そうだね
プレイ済み