「2つ同時に画像を動かす」にて
Posted: 2008年5月10日(土) 17:01
int jx=300,jy=440;
int bx=0, by=200;
SetDrawScreen(DX_SCREEN_BACK);
while(ProcessMessage()==0 && CheckHitKey(KEY_INPUT_ESCAPE)==0){
ClsDrawScreen();
int key=GetJoypadInputState(DX_INPUT_KEY_PAD1);
if(key & PAD_INPUT_LEFT) jx=jx-4;
if(key & PAD_INPUT_RIGHT) jx=jx+4;
DrawBox(jx,jy,jx+100,jy+10,GetColor(255,0,0),TRUE);
int col = GetColor(255,255,255);
if (jx<0){
jx=0;
}
if(jx>640-100){
jx=540;
}
DrawBox(bx,by,bx+10,by+10,GetColor(100,150,190),TRUE);
while(1){
by-=1;
if(by<0)break;
}
ScreenFlip();
}
DxLib_End() ;
return (0) ;
}
自機を移動させ動く敵(bx,by)を避けるゲームを作ろうと「2つ同時に画像を動かす」の部分を参考にしましたが
この場合だと敵が一瞬のうちに0まで移動した挙句消えてしまいます
-1ずつ座標をゆっくりと移動させ、0になればwhile文終了のはずなのですが
描画がうまく出来ていないのでしょうか?
int bx=0, by=200;
SetDrawScreen(DX_SCREEN_BACK);
while(ProcessMessage()==0 && CheckHitKey(KEY_INPUT_ESCAPE)==0){
ClsDrawScreen();
int key=GetJoypadInputState(DX_INPUT_KEY_PAD1);
if(key & PAD_INPUT_LEFT) jx=jx-4;
if(key & PAD_INPUT_RIGHT) jx=jx+4;
DrawBox(jx,jy,jx+100,jy+10,GetColor(255,0,0),TRUE);
int col = GetColor(255,255,255);
if (jx<0){
jx=0;
}
if(jx>640-100){
jx=540;
}
DrawBox(bx,by,bx+10,by+10,GetColor(100,150,190),TRUE);
while(1){
by-=1;
if(by<0)break;
}
ScreenFlip();
}
DxLib_End() ;
return (0) ;
}
自機を移動させ動く敵(bx,by)を避けるゲームを作ろうと「2つ同時に画像を動かす」の部分を参考にしましたが
この場合だと敵が一瞬のうちに0まで移動した挙句消えてしまいます
-1ずつ座標をゆっくりと移動させ、0になればwhile文終了のはずなのですが
描画がうまく出来ていないのでしょうか?