斜めに動けない

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
okusi

斜めに動けない

#1

投稿記事 by okusi » 15年前

たびたびすいません。

Dxlibでシューティングゲームを作っています。
自機をキーボードの矢印キーで動かしていてスペースキーでショットが打てます。

ショットを打っていない時(スペースキーを押していない時)に矢印の上と横といったような感じで
押すと斜めに進みます。

ここで問題なんですが、ショットを打っている時(スペースキーを押している時)に斜めに進もうとすると
右上と左上には進めますが、右下と左下には進めません。
なぜでしょうか?右上と左上にも進めなかったら少しは納得するんですが・・・。

プログラム

//自機の移動操作
if( CheckHitKey( KEY_INPUT_UP ) == 1 ) ship_y -= 3 ;
if( CheckHitKey( KEY_INPUT_DOWN ) == 1 ) ship_y += 3 ;
if( CheckHitKey( KEY_INPUT_LEFT ) == 1 ) ship_x -= 3 ;
if( CheckHitKey( KEY_INPUT_RIGHT ) == 1 ) ship_x += 3 ;
//ショット
if( CheckHitKey( KEY_INPUT_SPACE ) ==1 ){
        ショットをうつプログラム
}

たぶんおかしいのはこの辺のプログラムだと思います。
ちなみに ship_x ,ship_y が自機画像のx,y座標です。

なんでもいいのでこうじゃないか?など思いついた方
返答お願いしますm(_ _)m

lbfuvab

Re:斜めに動けない

#2

投稿記事 by lbfuvab » 15年前

キーボードの相性ですかね。
意外と良くある事ですよ。

天空橋

Re:斜めに動けない

#3

投稿記事 by 天空橋 » 15年前

始めまして、天空橋と申します。

的外れかもしれませんが、プログラムに問題があるのではなく、
キーボードに問題がある気がします。
ノートPCなどに特に多いのですが、キーの同時に押すパターンや、数に制限があるケースがあります。
全てのボタンの値をコンソールなどに出力して、そもそも、スペースを押しながら、
右下を押したときにKEY_INPUT_DOWN、KEY_INPUT_RIGHT、KEY_INPUT_SPACEの値が1になっているか、
確認してみてはいかがでしょうか?

okusi

Re:斜めに動けない

#4

投稿記事 by okusi » 15年前

lbfuvabさん 天空橋さん ご返答ありがとうございます。

プログラムには問題なかったみたいです。
矢印キーをアルファベットのキーにしてみたら右下にも左下にも動きました。
もちろんスペースを押したままで。^o^/
相性ってあるんですね。

質問してよかったです。
ありがとうございました。m(_ _)m

閉鎖

“C言語何でも質問掲示板” へ戻る