たびたびすいません。
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
斜めに動けない
Re:斜めに動けない
始めまして、天空橋と申します。
的外れかもしれませんが、プログラムに問題があるのではなく、
キーボードに問題がある気がします。
ノートPCなどに特に多いのですが、キーの同時に押すパターンや、数に制限があるケースがあります。
全てのボタンの値をコンソールなどに出力して、そもそも、スペースを押しながら、
右下を押したときにKEY_INPUT_DOWN、KEY_INPUT_RIGHT、KEY_INPUT_SPACEの値が1になっているか、
確認してみてはいかがでしょうか?
的外れかもしれませんが、プログラムに問題があるのではなく、
キーボードに問題がある気がします。
ノートPCなどに特に多いのですが、キーの同時に押すパターンや、数に制限があるケースがあります。
全てのボタンの値をコンソールなどに出力して、そもそも、スペースを押しながら、
右下を押したときにKEY_INPUT_DOWN、KEY_INPUT_RIGHT、KEY_INPUT_SPACEの値が1になっているか、
確認してみてはいかがでしょうか?
Re:斜めに動けない
lbfuvabさん 天空橋さん ご返答ありがとうございます。
プログラムには問題なかったみたいです。
矢印キーをアルファベットのキーにしてみたら右下にも左下にも動きました。
もちろんスペースを押したままで。^o^/
相性ってあるんですね。
質問してよかったです。
ありがとうございました。m(_ _)m
プログラムには問題なかったみたいです。
矢印キーをアルファベットのキーにしてみたら右下にも左下にも動きました。
もちろんスペースを押したままで。^o^/
相性ってあるんですね。
質問してよかったです。
ありがとうございました。m(_ _)m