私は少しゲームをプログラミングしています。これまでのところ、私はプレイヤーの後に2D印刷されたタイルの世界を動かすことができるプレーヤーを持っています。ここでは小さいpreviewです。KeyListenerイベントの短い遅延
今の私のプレーヤーの動きのコードは次のようになります。
のKeyListenerクラス
public void keyPressed(KeyEvent e) {
int key = e.getKeyCode();
for(int i = 0; i < handler.object.size(); i++){
GameObject tempObject = handler.object.get(i);
if(tempObject.getId() == ID.Player){
if(key == KeyEvent.VK_D) tempObject.setVelX(5);
if(key == KeyEvent.VK_A) tempObject.setVelX(-5);
if(key == KeyEvent.VK_SPACE && Var.jump == true) {
tempObject.setVelY(-10);
Var.jump = false;
}
}
}
public void keyReleased(KeyEvent e) {
int key = e.getKeyCode();
for(int i = 0; i < handler.object.size(); i++){
GameObject tempObject = handler.object.get(i);
if(tempObject.getId() == ID.Player){
if(key == KeyEvent.VK_D) tempObject.setVelX(0);
if(key == KeyEvent.VK_A) tempObject.setVelX(0);
}
}
プレーヤークラス
public void tick() {
if (Var.falling == true) {
velY += Var.gravity;
if (velY > 10) {
velY = 10;
}
}
x += velX;
y += velY;
これらのコードは、クラスのほんの一部です。
問題
私は右または特定の方法でAまたはDで放置し、その後(にDからのD /への)他のキーをタップに移動しています、私の性格短時間静止した後、この短い遅延の後に移動する。 hereを参照してください。
あなたは、「特定の方法は、」何であるかについて、より具体的なことはできますか?理想的には、あなたがそれを試すことができれば、キーダウンとキーアップの正確なシーケンス。これはあなたのプログラムにこれらを記録するのに役立ちます。 – slim