我正在努力尝试将游戏作为与我的几个朋友一起制作的副项目。但我有点卡在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 毫秒将图像更新为不同的图像。然后将其重置为该行中的第一个图像。但那行不通。还有什么我应该做的吗?还是有另一种处理动画的方法?还是我应该尝试制作动画课程?
编辑
我遇到的问题并没有真正解决让图像在屏幕上移动的问题。但是将图像来回切换作为键被按住。