【2D】ゲーム作成ツールGameMaker part4【マンセー】at GAMEDEV【2D】ゲーム作成ツールGameMaker part4【マンセー】 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト458:名前は開発中のものです。 09/10/04 17:53:38 p8OhbyR+ それはないですねぇ while (place_meeting(x-1,y,block) == true) { hspeed = 0; x +=1; } ためしに↑のようにしてみましたけど、それでもダメでした 459:名前は開発中のものです。 09/10/04 20:04:46 5U/WE5aW それなら他の場所で速度関係をいじっているんじゃないかい その式でxの代入だけが実行されるというのはありえない 460:名前は開発中のものです。 09/10/04 20:52:41 Wb+bZ9wM 壁がsolidだった場合、collisionイベント実行前に前の位置に戻されるから abs(hspeed)>1 だったら、壁と自分との間は1以上空いていることになる。 だからplace_meeting(x-1)ではヒットしないと予想。 place_meeting(x+/-hspeed)にしてみたらどうよ? whileの押し戻しもたぶん成功してないと思うな(単にxpreviousに戻されてるだけ) 厳密にやるなら x = other.bbox_right + 1 + sprite_xoffset とかの方が良さそう 461:名前は開発中のものです。 09/10/04 20:59:07 Wb+bZ9wM よく考えたら place_meeting(x-abs(hspeed)-1) とかにしないとダメだな ついでに補足。仮にblockって名前のスプライトとかスクリプトがあった場合 そっちのインデックスが使われて、違うオブジェクトをチェックしてる可能性もある。 GML使うんだったら、obj_block とか spr_block みたいにして 名前がかぶらないように設定しないとトラブルの元になるよ。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch