为了减少内存的使用,hge需要的图像大小为2次幂,但是图片的大小不一定都可以做成2次幂大小的,所以为了解决这个问题,hge制作了一个工具texasm.exe,这个工具可以组合图片为一个大的2次幂的图片,加载一次就可以了,每个图片在贴图中都是占有一个区域。
texasm.exe是hge sdk中附带的,texasm工程就能生成texasm.exe.
现在texasm只支持png格式的图片,因为png有alpha通道,可以显示透明效果,实际上hge使用的都是这种图片格式,使用举例:
假设texasm同目录下有001.png和002.png两个文件,使用命令: texasm *.png res
执行命令后,会生成3个文件,res1.png res1.res texasm.log
res1.png的大小为2的次幂
res1.res内容为:
Texture res1
{
filename = "res1.png"
resgroup = 0
}
Sprite 001.png
{
texture = res1
rect = 1,1,512,512
resgroup = 0
}
Sprite 002.png
{
texture = res1
rect = 1,514,500,300
resgroup = 0
}
res1为贴图的名称,resgroup是资源组对象,Sprite 001.png中的rect为001.png在res1.png中的图像坐标位置。
.res文件为hgeResourceManager需要的文件格式,这个hge资源管理类通过res文件得到贴图句柄,至于这个类怎么用,在另外的文章中讲解。
这样使用hge资源加载方式可以大大降低内存资源的消耗,加快图片的绘制速度。