全方向型シューティングゲーム2
Posted: 2009年9月30日(水) 13:35
前回のアドバイスに「プログラムをのせると解説しやすい」とかかれていたので乗せます。
/方向キー入力で変数mukiに0~3を入れる
if( Key[ KEY_INPUT_UP ]==1)
muki=0;
if( Key[ KEY_INPUT_LEFT ]==1)
muki=1;
if( Key[ KEY_INPUT_DOWN ]==1)
muki=2;
if( Key[ KEY_INPUT_RIGHT ]==1)
muki=3;
// yを減らす
// ↑
// ↑
// ↑
// xを減らす ←←←★→→→ xを増やす
// ↓
// ↓
// ↓
// yを増やす
//
switch (muki){
case 0://キャラクターが上を向いていたら
for(i=0;i<SHOTMAX;i++){
if(tama.flag==1){ //発射している玉なら
tama.y-=SHOTSPEED; //y座標を減らす
DrawGraph( tama.x , tama.y , image[muki] , TRUE );//玉を描画
if(tama.y < -32){ //もし画面外まで来たら
tama.x=320; //初期値に戻し
tama.y=240;
tama.flag=0; //発射フラグを戻す
}
}
}
break;
このような感じで4方に打てるようにがんばっているのですが、うまくいかないのでアドバイスお願いします。
また、弾は始点から発射されたらその場所から画面の端まで方向を変えず、進むようにしたいと思っています。
/方向キー入力で変数mukiに0~3を入れる
if( Key[ KEY_INPUT_UP ]==1)
muki=0;
if( Key[ KEY_INPUT_LEFT ]==1)
muki=1;
if( Key[ KEY_INPUT_DOWN ]==1)
muki=2;
if( Key[ KEY_INPUT_RIGHT ]==1)
muki=3;
// yを減らす
// ↑
// ↑
// ↑
// xを減らす ←←←★→→→ xを増やす
// ↓
// ↓
// ↓
// yを増やす
//
switch (muki){
case 0://キャラクターが上を向いていたら
for(i=0;i<SHOTMAX;i++){
if(tama.flag==1){ //発射している玉なら
tama.y-=SHOTSPEED; //y座標を減らす
DrawGraph( tama.x , tama.y , image[muki] , TRUE );//玉を描画
if(tama.y < -32){ //もし画面外まで来たら
tama.x=320; //初期値に戻し
tama.y=240;
tama.flag=0; //発射フラグを戻す
}
}
}
break;
このような感じで4方に打てるようにがんばっているのですが、うまくいかないのでアドバイスお願いします。
また、弾は始点から発射されたらその場所から画面の端まで方向を変えず、進むようにしたいと思っています。