Ну, у меня есть проблема, которую я не могу решить, и попробовал ее разными способами, но безуспешно. Я хочу нажать кнопку, и если она останется внизу, пуля не сможет выстрелить.
Итак, сначала я попробовал:
public void checkInput() {
int iKeyPressed;
iKeyPressed = this.getKeyStates();
if((iKeyPressed & LEFT_PRESSED) != 0) {
this.player.moveLeft();
}
else if((iKeyPressed & RIGHT_PRESSED) != 0) {
this.player.moveRight();
}
if((iKeyPressed & FIRE_PRESSED) != 0 && this.bKeyReleased) {
Bullet bullet;
int x;
int y;
bullet = new Bullet(loadImage("bullet.png"), 4, 22, 1, (this.player.getVel()*2)*(-1));
x = (this.player.getX()+(this.player.getWidth()/2))-(bullet.getWidth()/2);
y = this.player.getY();
bullet.setPosition(x, y);
this.lstBullets.addElement(bullet);
//this.bKeyReleased = false;
}
}
И я вызываю этот метод в своем основном цикле. Это работает, но если ключ остается нажатым, пули все еще выходят. Когда я пытаюсь переопределить метод keyPressed, он не работает, потому что я не знаю, как вызвать этот метод. Если я попытаюсь вызвать его непосредственно в моем основном цикле, это не сработает, так как я могу заставить его работать?
Кто-нибудь может показать мне, как я называю этот метод для правильной работы?