我正在用 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/