zoukankan      html  css  js  c++  java
  • 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: 检查原图是不是二次幂大小尺寸.

    不规则子图说明

      针对没有数组概念,大小不一的子图组合,下面给予说明:

      先看在脚本中如何生成对应的图像配置:  

    // 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" );
    

     对应的资源文件配置如下:

    <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可用的图像资源.

     (发布版的插件编写有问题,不过可以从当前的开发分支上更新一下 :) ) 

  • 相关阅读:
    洛谷 U138347 贩卖武器
    洛谷 U138346 统治王国
    小技巧—对树中叶子节点的记录
    洛谷 U138345 太极棋
    洛谷 U138343 炼金术士
    CF1038C Gambling
    CF1037A Packets
    如何看待神&#183;QYB自创算法爆锤成名已久的计算机科学家Robert&#183;Tarjan
    浅谈拓扑排序和元素间依赖性
    NOIP 2013 车站分级
  • 原文地址:https://www.cnblogs.com/KevinYuen/p/2944078.html
Copyright © 2011-2022 走看看