スペース シューターに取り組んでいますが、スペース バーを離した後、弾丸を画面の最後まで発射し続ける方法がわかりません。今のところ、スペースバーを押すと発砲し、離すと弾丸は左にとどまります。main() で順番に呼び出されるクラスを次に示します。
class Projectile : public Character
{
private:
float xVel;
float yVel;
float x;
float y;
public:
void init();
void keys();
void move();
void show();
}bullet;
void Projectile::init()
{
x=315;
y=305;
xVel=0;
yVel=0;
}
void Projectile::keys()
{
bool shoot = true;
Uint8 *keystates = SDL_GetKeyState( NULL );
if(keystates[SDLK_SPACE])
{
yVel-=14;
}
}
void Projectile::move()
{
x=x+xVel;
y=y+yVel;
xVel=0;
yVel=0;
if(y<0)
{
x=charx;
y=chary;
}
}
void Projectile::show()
{
apply_surface(x-5,y-2,jizz,screen);
cout << y << endl;
}