Java自定义像素渲染引擎bug

标签 java rendering game-engine pixel

我正在开发我自己的名为 FGame 的游戏引擎,但我遇到了这个图形错误,这确实困扰着我,我不确定问题出在哪里。对于图形,我使用自定义图像类,它有一个二维像素数组来存储其数据。我还有一个屏幕类,它扩展了 Image 类,屏幕的像素数据用于通过 BufferedImage java 类绘制到 JFrame。

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

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

最佳答案

感谢@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);

关于Java自定义像素渲染引擎bug,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17939755/

相关文章:

java - 崩溃到主 Activity 屏幕

c++ - 一种干净的渲染方式

architecture - Valve 是如何在军团要塞 2 中构建他们的实时成就引擎的?

java - BufferedImage、int[] 像素和渲染。他们如何一起工作?

Java游戏更新慢几秒

java - servlets 连接和在 tomcat 上运行

javascript - 在 Nashorn 中的特定上下文中执行函数

java - 我应该选择哪个 OpenGL 版本来满足我的需求?

three.js - 如何用三个js将多个纹理剪辑为多边形

java - 在Java程序中显示PDF文件