トピック
しろかび burakkugenomu

BGについて

この写真のようにBG(地面)があるところは歩け、BGがない(落とし穴)ところは歩けずに落下するというものを作りたいです。どのようなプログラムをうてばBGがあるところとないところの判断ができるのでしょうか…
1そうだね
プレイ済み
返信[1]
親投稿
だにえる haru2016nen
「操作キャラの足元のBG番号を BGGETで調べ、地面のBGなら落下しない」 みたいな処理にするのが普通だと思います。
3そうだね
プレイ済み
返信[2]
親投稿
Ϊċăņ ďо įт hikahikaru3
spset 0,tmpID 'tmpIDはspdefの番号 sphome 0,0,0 '左上 l=0 'BGのレイヤ while 1 b=button() spofs 0 out sx,sy if b and #left then dx=-1 if b and #right then dx=1 if bgget(L,dx+8,dy+17,1) then break '落とし穴に落ちた spofs 0,sx+dx,sy vsync wend
2そうだね
未プレイ
返信[3]
親投稿
ぴくと kanau1203
if bgget(L,dx+8,dy+17,1)==-1 then dy=1 spofs 0,sx+dx,sy+dy とかどうですか
3そうだね
プレイ済み
返信[4]
親投稿
しろかび burakkugenomu
皆さんコメントありがとうございます。DXやSXなどは一体なんでしょうか?
0そうだね
プレイ済み
返信[5]
親投稿
Extra RYO0516EX
DXなどは変数の名前です(とくに深い意味はない)
2そうだね
プレイ済み
返信[6]
親投稿
Ϊċăņ ďо įт hikahikaru3
dxはX軸方向の移動量です。 sxやsyはスプライトのX,Y座標です。 あとソースコードの一部に誤りがありました。 誤 if bgget(L,sx+dx,dy+17,1) then break 正 if bgget(L,sx+dx,sy+17,1) then break
0そうだね
未プレイ
返信[7]
親投稿
しろかび burakkugenomu
コメントありがとうございます! このプログラムを打とうと思うのですが、ボタンの入力を所得してキャラクターが動けるようなプログラムなどが書いてあるのでこのプログラムをどこに書けばいいのかわからないです。わかりにくくてすみません…
0そうだね
プレイ済み
返信[8]
親投稿
しろかび burakkugenomu
あとマップエディタのこの×のマークは一体なんでしょうか?
0そうだね
プレイ済み
返信[9]
親投稿
Ϊċăņ ďо įт hikahikaru3
そこをコメントアウトして皆さんの意見のソースで 上書きすればいいと思います
0そうだね
未プレイ
返信[10]
親投稿
しろかび burakkugenomu
コメントありがとうございます!公開キーを乗せるのでやっていただけるとありがたいです。初心者なのですみません…
2そうだね
プレイ済み
返信[11]
親投稿
Ϊċăņ ďо įт hikahikaru3
ファイルが足りないです ファイル名: dat:sc_map2_L2 , grp4:sirokabi-e
0そうだね
未プレイ
返信[12]
親投稿
Ϊċăņ ďо įт hikahikaru3
とりあえず改良してみました。(ファイルがないですが動きをソースから読みました)。 公開キー:D22473AE どうぞご検分ください。
0そうだね
未プレイ
返信[13]
親投稿
しろかび burakkugenomu
本当にありがとうございます!これでファイルを入れてやってみたのですが、うまくいきません。お手数ですが、ファイル込みのものをアップロードしたのでやって頂けるとありがたいです。 公開キー:DXVXA3A4
0そうだね
プレイ済み
返信[14]
親投稿
Ϊċăņ ďо įт hikahikaru3
了解です~
0そうだね
未プレイ
返信[15]
親投稿
Ϊċăņ ďо įт hikahikaru3
修正版をアップしました。S2がそうです。 key:KSP2EMD
0そうだね
未プレイ
返信[16]
親投稿
しろかび burakkugenomu
ありがとうございます!「SIRO2」のファイルの方では落下しているのがわかるのですが、「S2」ではなんか色々バグがあります。どうしたらいいでしょうか
0そうだね
プレイ済み
返信[17]
親投稿
しろかび burakkugenomu
BGをマップエディタで作ったのが問題なのでしょうか...
0そうだね
プレイ済み
返信[18]
親投稿
マップエディタのXマークは、アトリビュートという機能のためのものです。 これはマップのBGキャラ(チップ)に対して、当たりが有るか無いかのフラグを設定できるような機能なんですが、あまりこの機能を使って作っている人を見たことはないですね…。 たいていの人が教えてくれているのは、BGキャラ番号を直接調べて、その番号で当たりかどうかを判断するようなプログラムだと思います。 BG自体はマップエディタで作ってもプログラムで作っても同じなので問題ないと思いますが、一応そんな感じですかねー…。
0そうだね
プレイ済み
返信[19]
親投稿
オマケで書くと、アトリビュートというのは要するにBGキャラ番号に対応した配列だったりします。BGキャラ番号は数字になるので、その数字を添字にした配列を用意して、その配列の内容によって、そのBGキャラに当たりがあるか判定している感じですね。 アトリビュートの配列がATRだとすると、 IF ATR[BGGET(0,X,Y)] THEN 'アトリビュートが1以上(×)のときの処理 ENDIF みたいに判定出来るので、うまく使うと便利でもあるんですけどね。
2そうだね
プレイ済み
返信[20]
親投稿
しろかび burakkugenomu
そうだったんですか!詳しく書いてあるところなかったので、本当に助かりました!ありがとうございました!
0そうだね
プレイ済み