- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在用 Java 编写一个基于图 block 的 2D 游戏。角色将根据游戏逻辑放置在图 block 上。每个角色都与一张图片相关联,该图片将使用 java.awt.Graphics2D 绘制到屏幕上。然而, map 上的每个角色可能有多个实例。
存储和访问角色图像的建议做法是什么?
我能想到三种可能的实现:
java.awt.image.BufferedImage
类型的私有(private)变量。每次需要绘制对象时,都会使用 getter 来访问图像。但是,这会导致对象的尺寸过大吗?ImageIO.read(new File(character.getImagePath())
。这可能是最快的吗?最佳答案
我读过很多关于如何优化游戏的文章,我发现在开始时加载所需的资源并存储它们以供以后使用非常重要。一些最长的操作出现在文件 I/O 代码中。甚至有可能出现一些异常。例如,在第三个选项中,如果 ImageIO
抛出 IOException
会发生什么?你不会有图像,并且必须渲染一些其他东西。如果图像读取时间比预期长,它同样会削弱用户的游戏体验。
这是一个用于预加载资源(在您的 .jar 中)的示例代码片段:
// Imports and other stuff...
// Parameter flocation: resource location
private BufferedImage preloadImage(String flocation){
BufferedImage bufimg = null;
System.out.println("Attempting to load image: '" + flocation + "'");
try {
bufimg = ImageIO.read(this.getClass().getResourceAsStream(flocation));
} catch(IOException e){
System.err.println(
"An error occurred while attempting to load '" + flocation + "'");
return null;
}
// Now store this somewhere safe!
return bufimg;
}
对于您的第一个和第二个选项,如果您仔细考虑一下,实际上并没有太大区别。第一个只是为每个角色添加一个字段,而另一个则为您管理所有角色图像。就我个人而言,我更喜欢第一个选项,因为它减少了代码困惑,提高了可读性。当然,您可能决定根据主题对代码进行分组,因此第二个选项完全没问题。
关于Java 将图像加载到类 - 最有效的做法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39860645/
如果您想分享更多信息,可以在这里找到整个资源 指针: https://github.com/sergiotapia/DreamInCode.Net 基本上,我的API将为其他开发人员提供
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 5 年前。 Improve this qu
我不是 SCM 工具的经验丰富的用户,尽管我确信它们的用处,当然。 我在以前的工作中使用了一些不起眼的商业工具,在当前的工作中使用了 Perforce,并在我的小型个人项目中使用了 TortoiseS
所以我想知道一些我应该避免在 javascript 中做的事情以获得良好的 SEO 排名。在我的下一个站点中,我将广泛使用 jquery 和 javascript,但不想牺牲 SEO。那么您认为我应该
基本上,我想知道什么是避免 future CSS 代码出现问题和混淆的最佳方法... 像这样命名 CSS 属性: div#content ul#navigation div.float-left (真
我是一名优秀的程序员,十分优秀!