试图在Java中制作动画,但不知道如何去做

时间:2018-01-26 01:07:52

标签: java graphics sprite bufferstrategy

我正在尝试与我的一些朋友一起制作一个游戏作为一个侧面项目。但我有点坚持在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 个答案:

没有答案