トピック
??? 258556

SP,BGの細かい判定の仕方

SB,BGのキャラの中で 『左上から何ドット以上だったら…』 のようなプログラムはどうすればいいんですか?
1そうだね
プレイ済み
返信[1]
親投稿
ほんたくっ ruuzibatakuma
SPOFS使っていますか? 使っているのでしたら、そのX,Y座標を使えばできます。 IF X+5==? THEN ?
1そうだね
プレイ済み
返信[2]
親投稿
??? 258556
その方法を参考にして一度作ってみました。 『SP,0のある座標とSP,1のある座標が重なったら』 みたいな感じで作りました。 でも、これだと判定するのに画像のような条件式が何十何百と必要になってしまいます。どうすればいいですか?
0そうだね
プレイ済み
返信[3]
親投稿
ぴくと kanau1203
何故何十行も必要なんですか? 同じ処理を何度も実行するならfor,def,spfunc,bgfunc,gosubなどが使えますよ
2そうだね
プレイ済み
返信[4]
親投稿
??? 258556
繰り返し… IF XX+○==X+○ AND Y+○==YY+○ THEN ~ ○の数字をFORーNEXTでつくる… ………無理そうです。
0そうだね
プレイ済み
返信[5]
親投稿
ほんたくっ ruuzibatakuma
できますよ。 FOR I=0 TO 100(何回繰り返すかの値) IF XX+I==X+I AND Y+I==YY+I THEN NEXT Iの数字は変えてもいいですし、何個もつけて構いません。
0そうだね
プレイ済み
返信[6]
親投稿
??? 258556
すいません。説明不足でした。 ○は全て違う数で、規則制はありません。 だから、ほんたくっさんのループもできません。
0そうだね
プレイ済み
返信[7]
親投稿
??? 258556
指定座標のRGBが調べられれば簡単なんだけどなぁ~。
0そうだね
プレイ済み
返信[8]
親投稿
otta777 otta777a
○の部分を配列変数にするのはどうでしょうか? '段取り部分 DIM X0[n],X1[n],Y0[n],Y1[n] FOR I=0 TO n-1 READ X0[I],X1[I],Y0[I],Y1[I] NEXT DATA 5,0,3,0,… '判定部分 FOR I=0 TO n-1 IF XX+X0[I]==X+X1[I] && Y+Y0[I]==YY+Y1[I] THEN ~ NEXT
0そうだね
プレイ済み
返信[9]
親投稿
??? 258556
なるほど! そうすれば良かったんですね! 回答してくれた方々ありがとうございます!
0そうだね
プレイ済み