【だからこそ】HSP初質P58【続けるよ】at TECH【だからこそ】HSP初質P58【続けるよ】 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト68:デフォルトの名無しさん 11/05/13 19:07:56.67 >>67 やってみましたが、今回も何故か当たり判定はないままでした。なんでなんだろう・・・ ちなみに自分と敵がぶつかった場合には、if (enex=mx)and(eney=my):goto *game_stopでいけます。 もともと、そのプログラムは衝突判定や移動処理が簡単ということでゲーム座標というものを使って書いていました。 (mx=6:my=13、Gamedot=32、if keydata&1:mx--、pos mx*gamedot,my*gamedot) というような感じで、自分と敵の動きを小さな数字で管理して表示するときに32ドットを掛けるやり方で書いていたですが 弾を撃つスクリプトでは、ゲーム座標が使われてない部分があるせいか?弾と敵と自分の当たり判定がうまくいってないみたいです。 でも、スクリプトを見る限りは弾は32ドットずつ動くように書いたつもりですし、プログラムを実行してみても 自分の指定したとおりにちゃんと動いてくれてるので、それなのにどうしてダメなのか不具合の原因がよく分からない訳です。 69:デフォルトの名無しさん 11/05/14 01:49:17.54 キャラクタ間(自機,敵機,弾)の座標単位は統一したほうがよい どうしても今のまま行くならやっつけ対応になるが if (enex=shotx/32)and(eney=shoty/32):goto *game_stop 原因はenexが32分の1の値に対し、shotxの値が等倍の値だからだと思う title "enex="+enex+",eney="+eney+",shotx="+shotx+",shoty="+shoty とか入れてタイトルバーやデバッグウィンドウで調べてみるといい 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch