Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 绕轴反转图像或绘制一个反转图像来替代使用?_Java - Fatal编程技术网

Java 绕轴反转图像或绘制一个反转图像来替代使用?

Java 绕轴反转图像或绘制一个反转图像来替代使用?,java,Java,我正在开发一个java游戏,它处理一堆精灵图纸,我想知道我是否应该为左和右动画使用单独的精灵图纸,或者我是否应该只绘制左精灵并通过编程反转右动画的图像。哪一种练习会更好,哪一种表现会更好?我正在考虑在Game init()期间发生图像翻转。如果我使用方向翻转(在photoshop中节省大量时间),这是否是一种安全的方式: playerAttackLeft = spriteSheet.crop(0, 0, 400, 400); //(x, y, width, height)

我正在开发一个java游戏,它处理一堆精灵图纸,我想知道我是否应该为左和右动画使用单独的精灵图纸,或者我是否应该只绘制左精灵并通过编程反转右动画的图像。哪一种练习会更好,哪一种表现会更好?我正在考虑在Game init()期间发生图像翻转。如果我使用方向翻转(在photoshop中节省大量时间),这是否是一种安全的方式:

        playerAttackLeft = spriteSheet.crop(0, 0, 400, 400);  //(x, y, width, height)
        playerAttackRight = spriteSheet.crop(400, 0, -400, 400);

您应该
旋转图像
并使用它,而不是获取新图像。
当您读取图像时,JVM将占用空间来加载图像。

下面是我在计算机上执行此操作的示例。
我有一个100kb的图像,当我把它加载到我的
类中时,它占用了大约1mb的空间。

读取图像是一个代价高昂的过程



另一方面,如果您使用旋转图像,不仅可以节省空间,还可以节省时间(空间和时间复杂性,两者都有),因为旋转图像比读取外部图像花费的时间要少得多。

您尝试过吗?抛出异常?基本上你要求镜像图像,你可以通过将其中一个轴缩放-1来实现这一点。看看这个我在主要问题中的代码片段是否有效,我只是想知道这是否是理想的。