プレイ日記
BGとスプライトの当たり判定を作る途中なんですがここからまたわからなくなりました。 どうすればいいのでしょうか?
0そうだね
プレイ済み
返信[1]
親投稿
ゆうすけ OREYUSUKE
その、BGGETの12,6のところは、読み取るX,Y座標のことなんで、スプライトのX,Yに書き換えればOKですよー。 「その座標の」BG番号を読み取る内容なんです。
1そうだね
プレイ済み
返信[2]
親投稿
ありがとうございます。 こうゆうことですね あと、BGって管理番号ありますか?
1そうだね
プレイ済み
返信[3]
親投稿
写真つけ忘れました。
0そうだね
プレイ済み
返信[4]
親投稿
reji Satoshi.1103
管理番号はありませんがキャラ定義番号はありますよ~。 そういえば前の投稿削除したみたいですが、何かあったのでしょうか…?
0そうだね
プレイ済み
返信[5]
親投稿
otta777 otta777a
BGPUT命令でレイヤー0にBGを描画しているんで BGGET関数でも同じレイヤー番号を指定して下さい。
0そうだね
プレイ済み
返信[6]
親投稿
これでいいのでしょうか? 自分の書いていることが恥ずかしかったんで消しました><
1そうだね
プレイ済み
返信[7]
親投稿
otta777 otta777a
ゆうすけさんが指摘されている内容も反映しないと スプライトの移動先のBG情報を取得できません。 B=BGGET(0,X,Y,1) X,Y座標の指定を数字にすると同じ場所のBG情報を取得 するためスプライトがBGに衝突しているかは 判別ができませんよ。
0そうだね
プレイ済み
返信[8]
親投稿
あってるかどうかはわかりませんがやってみました。
0そうだね
プレイ済み
返信[9]
親投稿
ゆうすけ OREYUSUKE
緑のボタンの『SmileTool』内に、「BG」というのがあるので、そこの番号がBGの番号になりますよ~。 SPCOLはたしか、スプライト同士(SPHITSP命令)でしか使えないので、BGとの接触情報は、それだけでできていたと思います。 GOTOを使って、メインループは作ってありますでしょうか? そして、メインループの中にはPrint B を入れて常にチェックもするといいです。
1そうだね
プレイ済み
返信[10]
親投稿
すぎ field2050
VSYNCの前に IF BGGET(0,X,Y,1)==540 THEN BEEP 71:END と入れてみてください。 X,Y座標がBGの540番とぶつかっていたら音を鳴らして終了します。
0そうだね
プレイ済み
返信[11]
親投稿
質問です! こんなところですみません。   これはどのようなゲームですか?
0そうだね
未プレイ
返信[12]
親投稿
reji Satoshi.1103
おにおんさん全然恥ずかしいことじゃないですよ~。BGとSPの当たり判定の質問は結構多いので心配しなくても大丈夫です~♪
1そうだね
プレイ済み
返信[13]
親投稿
reji Satoshi.1103
けんしんさんプログラムを打つことの出来るソフトです。人のゲームも毎日、無料で遊べてとても楽しいですよ♪
0そうだね
プレイ済み
返信[14]
親投稿
ありがとうございます。
0そうだね
プレイ済み
返信[15]
親投稿
これって(0,X,Y,1)==540の540を変えたら当たり判定も変わるのでしょうか?
0そうだね
プレイ済み
返信[16]
親投稿
すぎ field2050
もちろん変わります。ちなみに今日の私の投稿の「将棋とは王将を捕らえるゲームである。」はもう少し正確な判定をしています。参考までに投稿してみました。
1そうだね
プレイ済み
返信[17]
親投稿
まだちょっと理解できてないです… 例えばこれでテーブルやベットに当たり判定をつけるにはどうすればいいのでしょうか
0そうだね
プレイ済み
返信[18]
親投稿
ゆうすけ OREYUSUKE
While1とWendの間で「ループ」してるということなのですかね。ならば、その間にBGGETなどを書けば、常にBGGETしてくれます。 そのループは「メインループ」、ループ外に書くのは「初期設定」や「サブルーチン」っていう考え方です。 (ループ内に置かないものは、一瞬しか読んでくれません)  始めは悩みますが、基本ですので覚えてしまえば後は楽ですから^-^bまあ、ゆっくり。
2そうだね
プレイ済み