【发布时间】:2013-07-30 06:28:54
【问题描述】:
我正在开发自己的名为 FGame 的游戏引擎,但我遇到了这个让我非常烦恼的图形错误,我不确定问题出在哪里。对于图形,我使用了一个自定义的 Image 类,它有一个二维像素数组来存储它的数据。我还有一个屏幕类,扩展了Image类,屏幕的像素数据通过BufferedImage java类用于绘制到JFrame。
如果我正在绘制图像并在屏幕上移动它,则会出现一个图形错误,它会使屏幕上某些位置的垂直线中的像素失真。
这是一个视频,显示了我试图描述的错误:http://www.youtube.com/watch?v=MnGCuHW5neI,这里是源代码的链接:https://github.com/Frechetta/FGame。
【问题讨论】:
-
+1 获取良好的调查来源
-
扭曲是什么意思?
-
当图像水平移动时,该图像中与 x 轴上某些点相交的像素会向上或向下移动一个像素,然后在它们位于该点的另一侧时再次移动.
-
好像是画面撕裂,如果你将layoutmanager设置为null而不是borderlayout,会出现这种情况吗?当您进行主动渲染时,您不希望布局管理器尝试重新绘制。
-
是的,@arynaq 是对的。我刚刚在没有布局管理器的情况下尝试了您的代码,并且它没有撕裂。将布局设置代码更改为
frame.setLayout(null); frame.setSize(getPreferredSize()); this.setSize(getPreferredSize());
标签: java rendering game-engine pixel