Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 显示缓冲图像时出错_Java_Bufferedimage - Fatal编程技术网

Java 显示缓冲图像时出错

Java 显示缓冲图像时出错,java,bufferedimage,Java,Bufferedimage,我最近一直在学习如何用java制作2D游戏的教程。我知道所有的概念,我使用视频作为指导,这样我就可以把所有的东西都设置好,然后开始把我所有的想法和内容注入到框架中 我在学习这个()教程时遇到了一个问题。在视频播放约28分钟后,我键入以下代码: public void render() { BufferStrategy bs = getBufferStrategy(); if(bs == null) { createBufferStrategy(3);

我最近一直在学习如何用java制作2D游戏的教程。我知道所有的概念,我使用视频作为指导,这样我就可以把所有的东西都设置好,然后开始把我所有的想法和内容注入到框架中

我在学习这个()教程时遇到了一个问题。在视频播放约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$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(未知源)


我真的很想继续视频,开始制作我的第一个全功能游戏(所有其他游戏尝试都没有进入功能阶段)。

你没有包含教程的链接。很抱歉,我现在已经修复了。你在论坛/网站上搜索过使用缓冲策略类的示例了吗?您发布的代码不完整,但我猜它是说,在您可以访问其缓冲区之前,帧必须是可见的或打包的。