Попытка анимировать в Java, но не знаю, как это сделать

Я работаю над попыткой сделать игру побочным проектом с несколькими моими друзьями. Но я застрял на анимации в Java.

    private void render() {//Everything that renders
    BufferStrategy bs = this.getBufferStrategy();

    if (bs == null) {
        createBufferStrategy(3);//Triple buffering, increases speed overtime.
        return;
    }

    Graphics g = bs.getDrawGraphics();//Draws out buffers
    ////////////////////////////////////////////////////////////////////////////////////////
    //Between these comment lines is where images can be drawn out to the screen
    g.drawImage(image, 0, 0, getWidth(), getHeight(), this);//Draws image

    character.render(g);

    //End of drawing
    ////////////////////////////////////////////////////////////////////////////////////////
    g.dispose();//Destroys image
    bs.show();//Shows buffer


}

Так что это метод рендеринга, который я использую для рендеринга моего персонажа на экран.

public void keyPressed(KeyEvent e) {
    int key = e.getKeyCode();

    if (key == KeyEvent.VK_W) {
        character.setVelY(-2);
    } else if (key == KeyEvent.VK_A) {
        character.setVelX(-2);
    }else if (key == KeyEvent.VK_S) {
        character.setVelY(2);
    }else if (key == KeyEvent.VK_D) {
        character.setVelX(2);
    }
}

И именно здесь я проверяю, нажата ли кнопка. Я пытался запустить поток в кнопке проверки, чтобы обновлять изображение каждые 200 миллисекунд для другого изображения. Затем сбросить его на первое изображение в строке. Но это не сработало. Есть ли что-то еще, что я должен сделать? Или есть другой способ справиться с анимацией? Или я должен попытаться сделать класс анимации?

РЕДАКТИРОВАТЬ

У меня проблема не в том, чтобы заставить изображение перемещаться по экрану. Но, когда изображение переключается назад и вперед в качестве клавиши, удерживается нажатой.

0 ответов

Другие вопросы по тегам