プレイ日記
さこつ you-take-310
岩(BG)の当たり判定を作ってみたんですけど、岩をすり抜けたり瞬間移動をしたりしちゃいます。完全に岩に当たったら前に進まないようにするためには、どうしたらいいでしょうか?
2そうだね
プレイ済み
返信[1]
親投稿
これで直るか分かりませんが、 X2=X:Y2=Y ~~~移動プログラム~~~ IF A==(BG番号) THEN X=X2:Y=Y2 でどうですか?
1そうだね
プレイ済み
返信[2]
親投稿
ぷうた FUTA.2004
BGGETを使ってみたらどうですか? まず、A=BGGET(0,X,Y,1)とうってみてください。 Aは、辺り判定をいれる変数で 当たっていればAにキャラ番号が入っていると思います。 (Aじゃなくてもいいです) 0はレイヤー番号です。岩のあるレイヤーにしてください。 X,Yは、BGの情報を調べる座標です。 ここにSPの座標を入れるのですが、 SPの原点はだいたい左上にあるので、 右や下を調べるときは座標+キャラクターの大きさにしてください。 (左や上を調べるときは座標-1で) 最後の1は、ドット単位で調べるということです。 0は、キャラ単位(16)で調べるということになります。 どっちでもいいですが、ドット単位をオススメします。
1そうだね
プレイ済み
返信[3]
親投稿
ぷうたs 上にBGGETありますよ。
0そうだね
プレイ済み
返信[4]
親投稿
先日も書いた気がするのですが、「移動先に何があるのか」を調べるようにすれば出来ますよ。 @LOOP KX=0:KY=0 B=BUTTON() IF B==#UP THEN KY=Y-1 IF B==#RIGHT THEN KX=X+1 IF B==#DOWN THEN KY=Y+1 IF B==#LEFT THEN KX=X-1 A=BGGET(0,KX,KY) IF A==101 THEN @LOOP X=KX:Y=KY SPOFS 0,X,Y GOTO @LOOP やっつけですがこんな風に。
1そうだね
プレイ済み