Torque2D MIT 学习笔记(13) ---- 图像资源(ImageAsset)
所有被引擎识别的资源都可以被运行时创建.图像资源(ImageAsset)和其他资源一样,继承于AssetBase.也就是说AssetBase的所有属性它都具备,另外还有一些自身的属性.
图像资源是一张由一个或者多个子图拼接而成的组合图像文件,单一图像的不多说了,只说一下组合的情况,在组合图像配置时,需要给定各个子图和对应区域的关系,资源加载时会成为一组帧序列.索引从0开始.
一个有效的图像资源至少要有一帧.
导出信息
除了继承的属性和方法,下面列举属于自身的:(下面为属性名,都有get/set方法)
ImageFile: // 图像文件名
CellCountX&CellCountY: // 横纵子图数量(用于数组形式排列的子图,大小一样,排列有规则的情况)
CellWidth&CellHeight: // 子图宽高(像素)(用于数组形式排列的子图,大小一样,排列有规则的情况)
CellStrideX&CellStrideY: // 子图间距(像素)(用于数组形式排列的子图,大小一样,排列有规则的情况)
CellOffsetX&CellOffsetY: // 偏移值(像素)(用于数组形式排列的子图,大小一样,排列有规则的情况)
CellRowOrder: // 子图帧序列索引按行序递增
FilterMode: // 采样模式,目前有近点采样和双线性采样两种
Force16Bit: // 强制16位
ExplicitMode: // 开启/关闭不规则子图模式
额外接口
getFrameCount: 获取帧数量
getFrameSize(frameindex): 获取指定帧尺寸
getImageWidth: 获取图像宽
getImageHeight: 获取图像高
getImageSize: 获取图像尺寸
getIsImagePOT: 检查原图是不是二次幂大小尺寸.
不规则子图说明
针对没有数组概念,大小不一的子图组合,下面给予说明:
先看在脚本中如何生成对应的图像配置:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | // Create a bare asset. %asset = new ImageAsset(); // Configure the basic asset details. %asset.AssetName = "Stuff" ; %asset.ImageFile = "things.png" %asset.ExplicitMode = true ; // Configure the explicit cells i.e. frames. %asset.addExplicitCell( 0, 0, 10, 20 ); %asset.addExplicitCell( 10, 0, 30, 15 ); %asset.addExplicitCell( 40, 60, 23, 10 ); // Save it as an asset definition to be used by the asset system. TamlWrite( %asset, "stuff.asset.taml" ); |
对应的资源文件配置如下:
1 2 3 4 5 6 7 8 9 | <ImageAsset AssetName= "Stuff" ImageFile= "things.png" > <ImageAsset.Cells> <Cell Offset= "0 0" Width= "10" Height= "20" /> <Cell Offset= "10 0" Width= "30" Height= "15" /> <Cell Offset= "40 60" Width= "23" Height= "10" /> </ImageAsset.Cells> /> |
由于这个MIT版本是今年才发布的,所以在工具方面作者说还在搞,不过应该很快可以发布了,目前对于自动生成图像资源,官方给出了一个解决方法:
在.\tools\TexturePacker\下面给出了一个TexturePacker的导出插件,可以通过TP软件导出T2D可用的图像资源.
(发布版的插件编写有问题,不过可以从当前的开发分支上更新一下 :) )
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步