斜めに動けない
Posted: 2010年3月11日(木) 00:32
たびたびすいません。
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
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