DXライブラリを使って、 UFOキャッチャーゲームを作っているのですが、上手くいきません。 どういう風にうまく行かないのかというと、 ”キャッチャーをZキーで右へ移動の後にXキーで下に下ろす。” これが出来ません。 Z、Xキーそれぞれのキーを押したのを判定するのは出来るのですが、 状態遷移が上手くいきません。 ソースコードを一部添付するので、見てもらえますか?
キー入力が上手くいきません
キー入力が上手くいきません
Re:キー入力が上手くいきません
まず仕様がわからないのでアドバイスができません。
まずいところをとりあえずあげておきます。
counter,counter2ともに入力がなければずっとデクリメントしていますが、
放置時間が続くとオーバーフローします。
またここも仕様がわからないので何とも言えませんが、
結構な間放置したあと(counter,counter2は負に大きな数)
zキーが数百ループ(数秒間)押されたとします。(2ずつインクリメント×数百)
counterは負に大きな数ですので、絶対にif文の条件をみたし、flag=0となります。
しかし、、ゲーム開始早々zキーを押したままだとずっと2ずつインクリメントしてます。
ゆえにzキーを離してもif文に合致せず、フラグが立ちません。
xキーも同様です。
フラグの使い分けは自分の意図したようになっていますか?
一度counter,counter2の変数の移り変わりを画面に表示してみると分かりやすいと思いますよ。
まずいところをとりあえずあげておきます。
counter,counter2ともに入力がなければずっとデクリメントしていますが、
放置時間が続くとオーバーフローします。
またここも仕様がわからないので何とも言えませんが、
結構な間放置したあと(counter,counter2は負に大きな数)
zキーが数百ループ(数秒間)押されたとします。(2ずつインクリメント×数百)
counterは負に大きな数ですので、絶対にif文の条件をみたし、flag=0となります。
しかし、、ゲーム開始早々zキーを押したままだとずっと2ずつインクリメントしてます。
ゆえにzキーを離してもif文に合致せず、フラグが立ちません。
xキーも同様です。
フラグの使い分けは自分の意図したようになっていますか?
一度counter,counter2の変数の移り変わりを画面に表示してみると分かりやすいと思いますよ。
Re:キー入力が上手くいきません
キーの離された瞬間を処理したら、うまくいきました。
ありがとうございました。
今日、一日授業中に作っていたのですが、
なんとか形にはなりました。
ただ、UFOキャッチャーとオブジェクトの当たり判定が
うまくいきません。
ありがとうございました。
今日、一日授業中に作っていたのですが、
なんとか形にはなりました。
ただ、UFOキャッチャーとオブジェクトの当たり判定が
うまくいきません。
Re:キー入力が上手くいきません
うまくいきませんとおっしゃられても、添付されているファイル
の中にはそれらしき画像ファイルはありませんし、その処理も見当たりません。
もう一度ソースファイルをUPされては?
(自分はテスト勉強しなければいけないので^^;)
の中にはそれらしき画像ファイルはありませんし、その処理も見当たりません。
もう一度ソースファイルをUPされては?
(自分はテスト勉強しなければいけないので^^;)
Re:当たり判定がうまくいきません。
>うまくいきませんとおっしゃられても、添付されているファイル
>の中にはそれらしき画像ファイルはありませんし、その処理も見当たりません。
>もう一度ソースファイルをUPされては?
>(自分はテスト勉強しなければいけないので^^;)
すみません。
こっちの都合ばかり考えてましたが、いけませんでしたね。
ソースファイルをUPします。
>の中にはそれらしき画像ファイルはありませんし、その処理も見当たりません。
>もう一度ソースファイルをUPされては?
>(自分はテスト勉強しなければいけないので^^;)
すみません。
こっちの都合ばかり考えてましたが、いけませんでしたね。
ソースファイルをUPします。
Re:当たり判定がうまくいきません。
x,yの範囲はcatcher.pngから適当に判断しました
void HitCheck(int x,int y) { int i; for(i=0;i<MAX;i++) { if(Ball.x > x+8 && Ball.x+Ball.width < x+116 && Ball.y > y+370 && Ball.y+Ball.height < y+470 ) { Ball.putonflag=1; } } }
Re:当たり判定がうまくいきません。
toyoさんへ
ありがとうございます。
おかげで、少しシビアなゲームになりそうです。
あとは、コインの数が0になったとき、下にスクロールして、
落ちたものを確認する状態で、きちんと確認できれば最高です。
ありがとうございます。
おかげで、少しシビアなゲームになりそうです。
あとは、コインの数が0になったとき、下にスクロールして、
落ちたものを確認する状態で、きちんと確認できれば最高です。