问题标签 [bufferstrategy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
28 浏览

java - 绘制到 BufferStrategy Java 时遇到问题

我正在创建一个游戏,并想使用它的 BufferStrategy 绘制到 Canvas。由于某种原因,它似乎不想在屏幕上显示任何内容。我查看了 Java 文档并阅读了其他人提出的几个 Stackoverflow 问题,但无法使其正常工作。只想显示黑色背景,以便我知道它正在工作。

这是我创建画布的地方:

这里是我尝试显示黑色背景的地方:

drawFrame() 在我的游戏循环中被多次调用,而 createDisplay() 在游戏循环开始之前被调用一次。当我运行我的游戏时,我得到的只是一个带有空白屏幕的框架:游戏运行

感谢您的帮助。

0 投票
0 回答
11 浏览

java - 如何在 Java 中获取 BufferStrategy/its Graphics 的内容?

有没有办法获取当前缓冲区即时写入的内容?一种我在其图形中写入的内容的表示。例如,在下面的代码中,我想获得一个 BufferedImage 甚至是一个数组,它的值代表我所写的内容,在这种情况下;黑色背景和白色矩形:

提前致谢!

0 投票
0 回答
15 浏览

java - 有没有办法在 Swing 中完全忽略重绘?

我在我的 JFrame 上使用 setIgnoreRepaint(true) 和 Active Rendering 和 BufferStrategy。当我通过我的游戏循环禁用从 EDT 调用 contentPane.repaintAll() 的代码部分时,除了我通过 setLocation 设置动画的 JPanel 仍然接收绘制调用并使用 BufferStrategy 闪烁之外,不会再绘制任何预期的内容,这就是我不明白的,如果JFrame本身忽略重绘,它怎么还能在屏幕上绘制?我应该写一个自定义 RepaintManager 吗?