【问题标题】:Java: Applying BufferedImage to BufferStrategyJava:将 BufferedImage 应用于 BufferStrategy
【发布时间】:2014-05-28 14:58:11
【问题描述】:

我目前正在从 GameDev 教程中学习,真正让我感到困惑的是,您光栅化到数组中的 BufferedImage 是如何更新的。在我的代码中,我从未指定某个 BufferedImage 应该用于 BufferStrategy,我猜它会自行更改缓冲区,但代码仍然可以正常工作。

http://pastie.org/private/un1ep4wwrbsi0ecwmqc5w#15

我的意思是 "image" 的 ctrl+f 并且你看到参数 "image" 永远不会被更新;仅创建一次,仅此而已。然而,当像素数组被更改(在不同的类中并复制到我发布的那个)时,这些更改会影响图像对象,然后由 Graphics 绘制。我到底在哪里告诉 JVM 将数组光栅复制回 BufferedImage(= 参数图像)?

【问题讨论】:

    标签: java graphics bufferedimage bufferstrategy


    【解决方案1】:

    您不需要将数组复制回来。 BufferedImage 已经有了。 :-)

    BufferedImage imageGame 实例共享 pixels 数组。行:

    private int[] pixels = ((DataBufferInt) image.getRaster().getDataBuffer()).getData();
    

    ....不复制任何数据,它只是分配对image内部像素数据的引用。 pixels 中的任何更改都将反映在 image 中,反之亦然。

    【讨论】:

      猜你喜欢
      • 2013-10-14
      • 1970-01-01
      • 2018-06-23
      • 2014-08-18
      • 2014-09-29
      • 2017-12-03
      • 2012-12-01
      • 2012-11-16
      • 2017-09-16
      相关资源
      最近更新 更多