Java Tile 游戏缩放

标签 java 2d zooming tile graphic

我正在用 Java 构建一个基于 2D 自上而下图 block 的游戏。当然,您可以平移并放大游戏,目前放大有 10 个不同级别,每个图 block 的范围分别为 10x10 像素到 100x100 像素。目前,每个缩放级别的图 block 存储在单独的 Sprite 表中,在程序启动时读入并存储在缓冲图像数组中。我确信这不是解决这个问题的最佳方法。

我正在寻找任何提高长期效率的技巧,只使用 100x100 的图 block 并在 java 中动态缩放它们会更好吗?以某种方式在java中使用 vector 图形(我知道如何使用,但我确信谷歌可以帮助我)或者什么?

非常感谢!

最佳答案

我会变得充满活力。 通常在计算机图形学中,您使用矩阵,将其应用于图形上下文,修改您在其上绘制的所有内容。

这用于修改位置、缩放、旋转等。您无需将相机位置减去每个图 block ,而是将平移应用到图形上下文一次,然后在世界位置绘制图 block 。图形上下文将负责将图 block 放置在正确的屏幕空间中。

我建议您阅读以下内容:

http://docs.oracle.com/javase/tutorial/2d/advanced/transforming.html http://www.javalobby.org/java/forums/t19387.html

关于Java Tile 游戏缩放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10047096/

相关文章:

3d - 将3D位置转换为2d屏幕位置[r69!]

python - 平移/旋转 2D 点以改变视角

C++ 将文本文件读入 vector < vector >,然后根据内部 vector 中的第一个单词写入 vector 或数组

javascript - 如何在具有缩放功能的 div 中适应和居中 css 家谱

java - CRC32 计算与默认计算不匹配

Java - Android无法使用httpPost发送数据

java - 比较两个不同对象的不同列表中的元素

java - 在线程 "AWT-EventQueue-0"java.lang.NullPointerException 错误中获取异常

javascript - 缩放瞄准鼠标光标的图像

html - CSS Sprite - 缩放时显示另一幅图像的一部分