Java 显示缓冲图像时出错
我最近一直在学习如何用java制作2D游戏的教程。我知道所有的概念,我使用视频作为指导,这样我就可以把所有的东西都设置好,然后开始把我所有的想法和内容注入到框架中 我在学习这个()教程时遇到了一个问题。在视频播放约28分钟后,我键入以下代码:Java 显示缓冲图像时出错,java,bufferedimage,Java,Bufferedimage,我最近一直在学习如何用java制作2D游戏的教程。我知道所有的概念,我使用视频作为指导,这样我就可以把所有的东西都设置好,然后开始把我所有的想法和内容注入到框架中 我在学习这个()教程时遇到了一个问题。在视频播放约28分钟后,我键入以下代码: public void render() { BufferStrategy bs = getBufferStrategy(); if(bs == null) { createBufferStrategy(3);
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$FlipBufferStrategy.createBuffers(未知源)的java.awt.Component$FlipBufferStrategy处具有有效的对等方。(未知源)
位于java.awt.Component$FlipSubcionBufferStrategy。(未知源)
位于java.awt.Component.createBufferStrategy(未知源)
位于java.awt.Canvas.createBufferStrategy(未知源)
位于java.awt.Component.createBufferStrategy(未知源)
位于java.awt.Canvas.createBufferStrategy(未知源)
位于com.kaperly.game.game.render(game.java:102)
com.kaperly.game.game.run(game.java:83)
位于java.lang.Thread.run(未知源)
我真的很想继续视频,开始制作我的第一个全功能游戏(所有其他游戏尝试都没有进入功能阶段)。你没有包含教程的链接。很抱歉,我现在已经修复了。你在论坛/网站上搜索过使用缓冲策略类的示例了吗?您发布的代码不完整,但我猜它是说,在您可以访问其缓冲区之前,帧必须是可见的或打包的。