问题标签 [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.
java - 使用 createBufferStrategy() 的正确方法是什么?
即使在使用 Java Swing 一年多之后,它对我来说仍然很神奇。如何正确使用 BufferStrategy,尤其是方法createBufferSrategy()
?
我想要一个 JFrame 和一个 Canvas 被添加到它然后绘制。我还希望能够调整 ( setSize()
) 画布的大小。每次我调整 Canvas 的大小时,似乎我BufferStrategy
都会被丢弃,或者更确切地说,变得无用,因为使用show()
onBufferStrategy
实际上并没有做任何事情。此外,createBufferStrategy()
有一个奇怪的非确定性行为,我不知道如何正确同步它。
这就是我的意思:
MyCanvas
有一个方法makeBufferStrat()
和repaint()
:
我只是从 main 方法中的 while(true) 循环中调用MyFrame
'srepaint()
方法。当threshold
很小(即 2)时,bufferStrat.show()
大约 70% 的情况下什么都不做 - JFrame 在启动程序时保持灰色。剩下的 30% 它按照它应该的方式绘制矩形。如果我这样做threshold = 200;
了,那么在我执行程序的时间里,绘画成功率接近 100%。Javadoc 说这createBufferStrategy()
可能需要一段时间,所以我认为这就是问题所在。但是,如何正确同步和使用它?显然,我在这里做错了什么。我无法想象它应该如何使用。
有没有人有一个最小的工作示例?
c - 如何确定每次读取系统调用要读取的合理字节数?
我正在玩文件读/写,但很难决定为“读”系统调用设置多大的读缓冲区。
特别是,我正在查看“ http://pubs.opengroup.org/onlinepubs/009695399/functions/read.html ”
除了 SSIZE_MAX 之外,它似乎没有说明我一次可以读取多少字节。
更糟糕的是,如果我用 SSIZE_MAX 个字符创建一个数组,程序会产生:
是否有任何合理的方法来决定每次读取系统调用读取多少字节?我担心这可能会因系统而异(我不能只进行尽可能多的读取,直到读取无法确定我可以读取的确切字节数,即使我这样做了,它也不一定会更快比读取更少的字节)。
我的一个想法是检查我的 CPU 缓存大小并尝试使我的缓冲区不大于该大小,但是由于我不知道 CPU 缓存是如何工作的,所以我不确定这是否一定正确。
提前谢谢。
java - 组件必须有一个有效的对等点(BufferStrategy)
所以我在 java 上制作了一个 2D 游戏,并在我的游戏中实现了 BufferStrategy 方法。它卡在“this.createBufferStrategy(3);”这一行
从那时起,我收到此错误:
我不知道为什么..请帮忙。这是我的 Game.java 代码:
和 WindowFrame.java 代码:
java - 在java中渲染图像
我试图在java JFrame中放一张图片,但我想修改每个像素,所以我想逐个像素地加载它。我被困在应该将像素加载到屏幕上的部分,但我看不到任何效果。我错过了什么?
我很确定它很小,但由于某种原因我看不到它。
显示.java
屏幕截图.java
渲染.java
图像.java
java - 组件必须有一个有效的对等点 - BufferStrategy
首先,我知道以前有人问过这样的问题,但似乎没有答案可以解决我的问题。
我正在开发一个小游戏,由于某种原因,每当我尝试创建新的缓冲区策略时,java 都会返回 IllegalStateException。我正在将游戏添加到 JFrame,但仍然抛出异常,这是添加到 JFrame 的代码:
这是创建窗口的代码(位于 Main 类中):
java - 当我调用“BufferStrategy.show()”时会发生什么?
调用是否bs.show()
实际显示缓冲的帧?如果是这样,怎么做?它只是说它使下一个可用缓冲区可见,但是当前缓冲区呢?什么时候显示?
java - 在没有对象的情况下调用 getBufferStrategy 和 createBufferStrategy
我正在观看有关使用 Java 制作游戏的视频,并看到以下用于创建 BufferStrategy 对象的代码:
我在其他示例和视频中看到了这个确切的代码块,所以它看起来很标准。我的问题是,既然 getBufferStrategy() 或 createBufferStrategy() 都不是静态方法,不应该用对象调用它们吗?而且由于这个render方法属于扩展Canvas类的类,代码不应该是这样的吗?:
Canvas 类的 docs.oracle 页面将这些方法列为非静态方法。那么为什么我们可以在没有对象的情况下调用它们呢?任何帮助是极大的赞赏。
java - 用java写的游戏摇晃口吃
我的新项目是一个用 Java 编写的 Flappy Bird 游戏,我遇到了一个小问题。它口吃很多。我不知道该怎么办。我一直在寻找其他主题的解决方案,但不幸的是我不知道出了什么问题。我使用了缓冲策略,但我不确定它是否做得好。这是整个代码。
}
java - 在 java 中使用 createBufferStrategy() 时,拥有 2 个以上的缓冲区是否有帮助?有缺点吗?
似乎大多数人建议只使用 2 或 3。这仅仅是因为超过 3 占用了太多的处理能力或其他什么(请原谅我对此有点陌生)?在什么样的程序中你会使用超过 3 个缓冲区?
2或3适用于我的程序,我只是好奇。