我最近一直在关注如何在java中制作2D游戏的教程。我知道所有的概念,我正在使用视频作为指导,这样我就可以完成所有设置,然后开始将我的所有想法和内容都集中到骨架中。
当我遇到问题时,我正在关注这个(http://www.youtube.com/watch?v=VE7ezYCTPe4)教程。在视频大约28分钟后,我输入以下代码:
public void render() {
BufferStrategy bs = getBufferStrategy();
if(bs == null) {
createBufferStrategy(3);
return;
}
Graphics g = bs.getDrawGraphics();
g.setColor(Color.BLACK);
g.fillRect(0, 0, getWidth(), getHeight());
g.dispose();
bs.show();
}
在我尝试运行之前,这一切都很好。他在视频中运行它并且它工作正常,但是当我运行它时我得到一个错误:
线程“Thread-2”中的异常java.lang.IllegalStateException:组件必须在java.awt.Component上的java.awt.Component $ FlipBufferStrategy.createBuffers(未知源)中具有有效对等体$ FlipBufferStrategy。(未知来源) at java.awt.Component $ FlipSubRegionBufferStrategy。(Unknown Source) at java.awt.Component.createBufferStrategy(Unknown Source) at java.awt.Canvas.createBufferStrategy(Unknown Source) at java.awt.Component.createBufferStrategy(Unknown Source) at java.awt.Canvas.createBufferStrategy(Unknown Source) 在com.kaperly.game.Game.render(Game.java:102) 在com.kaperly.game.Game.run(Game.java:83) 在java.lang.Thread.run(未知来源)
我真的想继续观看视频并开始制作我的第一部全功能游戏(所有其他游戏尝试都没有进入功能阶段。)