トピック
そんし tairiku1122

ステージを表示させることができるようになったのですが、木などの障害物も無視して動いてしまいます。どうすれば障害物にぶつかったときに止まれますか?

1そうだね
プレイ済み
返信[1]
親投稿
ぴくと kanau1203
マップをBGで表してるならCHKBG(だったかな?)で木のBGかどうか確認すればいいと思います
0そうだね
プレイ済み
返信[2]
親投稿
MIKI ifconfig
豆知識 w$=mid$(s$,bx,1) は w$=s$[bx] と書けます!!
1そうだね
プレイ済み
返信[3]
親投稿
ΖΕΧ ZEX256
BASIC自体には壁という概念が無いので、 壁をすり抜けない方法は、貴方の作るプログラムによって、 貴方が壁と考えるBGキャラの位置に、 自キャラが入り込まないように 自キャラの移動を制限することで実現できます。 で、指定座標にあるBGのキャラクタ番号を調べるのがBGGETです。 http://petitcom.net/3gou/manual/bgget http://petitcom.net/3gou/manual/bgcoord
1そうだね
プレイ済み
返信[4]
親投稿
ΖΕΧ ZEX256
では、どう制御すれば壁に入り込まないようにできるのか少々説明します、 キャラクタをボタン動作で移動させる場合、次の手順を踏みます。 ボタン入力→自キャラの座標を移動計算→自キャラの座標に自キャラ表示 この「自キャラの座標を移動計算」の前に、 ボタンを押した先の座標にあるBGキャラクタ番号を調べ、 その番号が、貴方の考える壁の番号だったら、自キャラの座標を進めない。 とすることで壁に入らないようにできます。
2そうだね
プレイ済み
返信[5]
親投稿
ΖΕΧ ZEX256
BGGETのX,Y座標には調べたいBGキャラの座標を指定するのですが、 BGCOORDを使って座標変換すると良いかもしれません。 BGCOORDは、BGレイヤーの、画面上の座標(ドット)とBGレイヤー上の座標(ドット・キャラ単位)を相互変換できます。
1そうだね
プレイ済み