libGDX与Kotlin 移动游戏开发(4)
原文地址:Managing Graphic & Sound Assets for your libGDX Mobile Game | #4
接下来的文章中将要讲述如何管理游戏的资源文件(如图像、设计图和声音)。这其中包括一些网站链接,在这些网站上可以找到免费高质量的游戏资源。至少有三种不同的方式来设计游戏:
- 找一位设计师来设计。如果“聘请”一位设计师的话,也许会花费较大。在以下网站可以找到设计师:
- dribbble.com:通过地址、技能、时间安排等方式来寻找设计师。
- folyo.me:自由职业者平台。
- 自己创作游戏资源。
- 购买(或免费使用)网上的游戏资源。下面是一些可以找到资源的网站:
或者通过Google找到更多资源。
为Android和iOS程序制作图标
用图标缩放软件可以简化Android和iOS图标制作过程,譬如makeappicon.com这个网站。
在libGDX中管理图像资源
通常情况下,libGDX的资源放在android module下的assets文件夹中。
可以将所有图像文件一股脑放进assets文件夹中,但是这是非常不好的做法。OpenGL使用贴图相当占用内存。所以应该将众多小的图片资源拼接成一个大的图片,然后一次性加载整张图片,并使用其中的一部分。libGDX有一个所谓的“贴图打包工具(TexturePacker)”,基于命令行。小的图像的位置被保存起来,可以直接通过文件名(无需扩展名)来调用。当打包特定贴图的时候采用特定的算法会提高效率。
可以使用代码调用TexturePacker,或者通过命令行调用。将图像资源放在tools/sprites目录下,然后运行tools/texturepacker.sh(Linux和macOS系统上)或运行tools/texturepacker.cmd(Windows系统上)。运行结果保存在android/assets目录中。
1 条回复
[…] 在loadAtlas()方法中,遍历所有的资源管理器中的资源,并将其保存参考到一个hash map中,以便之后调用。对于动画文件也是一样。之前提到,精灵图是一个或几个包含所有精灵或资源的图像地图,被称为贴图地图TextureAtlas。这个地图被分为称为贴图区域TextureRegion的不同区域。所以贴图hash map集合中,字符串作为key、TextRegion作为value。动画地图也是如此,不过是一个动画作为value。使用以下代码来填充hash map: […]