Java自定义像素渲染引擎bug

时间:2013-07-30 06:28:54

标签: java rendering game-engine pixel

我正在开发自己的游戏引擎,名为FGame,我有这个图形错误,这真的很烦我,我不知道问题在哪里。对于图形,我使用自定义Image类,它具有2d像素数组来存储其数据。我还有一个屏幕类,它扩展了Image类,屏幕的像素数据用于通过BufferedImage java类绘制到JFrame。

如果我正在绘制图像,并且我在屏幕上移动它,则会出现一个图形错误,会使屏幕上某些位置的垂直线像素失真。

以下视频展示了我要描述的错误:http://www.youtube.com/watch?v=MnGCuHW5neI,这是源代码的链接:https://github.com/Frechetta/FGame

1 个答案:

答案 0 :(得分:1)

感谢@arynaq和@Max帮助解决我的问题。我将为遇到此问题的其他人发布我的旧代码和新代码。

旧代码:

frame = new JFrame(nameA);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(new BorderLayout());
frame.add(this, BorderLayout.CENTER);
frame.pack();
frame.setResizable(false);
frame.setLocationRelativeTo(null);
frame.setVisible(true);

新代码:

frame = new JFrame(nameA);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(null);
this.setSize(getPreferredSize());
frame.add(this);
frame.pack();
frame.setSize(getPreferredSize());
frame.setResizable(false);
frame.setLocationRelativeTo(null);
frame.setVisible(true);