Java自定义像素渲染引擎bug

Eri*_*tte 5 java rendering pixel game-engine

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

如果我正在绘制图像,并且我在屏幕上移动它,则会出现图形错误,在屏幕上的某些位置扭曲垂直线中的像素.

这是一个视频,显示我想要描述的错误:http://www.youtube.com/watch?v = MnGCuHW5neI,这里是源代码的链接:https://github.com/Frechetta/FGame.

Eri*_*tte 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);
Run Code Online (Sandbox Code Playgroud)

新代码:

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);
Run Code Online (Sandbox Code Playgroud)