纹理需要在资源的xml里面配置,节点名称为texture.
纹理资源支持多种类型
1. 普通拉伸,即把图片直接拉伸到目标大小
2.九宫,三宫之类
Normal自定义的纹理格式,需要配置part信息,part信息把指定图片上面的一个区域映射到目标指定区域,
part信息只有在type指定为Normal类型才有效。
一个纹理可以有多个part(如果不同part的目标区域重合,后面的part会覆盖前面的)
part配置:
<part id="topcenter">
<src left="4" top="0" width="6" height="3"/>
<dest left="3" top="0" width="width-3-3" height="3"/>
</part>
id指明part的id。
src和dest分别指定该part的源区域和目标区域,
源区域的四个位置属性left、top、width、height必须是明确的值
而目标区域的位置属性可以指定为表达式。表达式中可以包含width和height两个标志符,
用来指示该纹理被拉伸后的宽度和高度
当纹理资源被配置到TextureObject时,TextureObject的所在矩形就是其纹理的矩形。
在使用part来映射区域时候,假如源图片包含了诸如紫线等的分割线,配置源矩形时候需要特别主要要将
这些部分绕过去,同时要注意最终结果是没紫线的,所以目标区域的矩形配置是不需要考虑紫线的。
下面是一个Normal类型的配置实例
<texture id="progressbar_empty" type="Normal" image="bitmap\progress_empty.png">
<part id="topleft">
<src left="0" top="0" width="3" height="3"/>
<dest left="0" top="0" width="3" height="3"/>
</part>
<part id="topcenter">
<src left="4" top="0" width="6" height="3"/>
<dest left="3" top="0" width="width-3-3" height="3">
</part>
<part id="topright">
<src left="0" top="0" width="3" height="3"/>
<dest left="width-3" top="0" width="3" height="3"/>
</part>
<part id="left">
<src left="0" top="4" width="3" height="8"/>
<dest left="0" top="3" width="3" height="height-3-4"/>
</part>
<part id="center">
<src left="4" top="4" width="6" height="8"/>
<dest left="3" top="3" width="width-3-3" height="height-3-4"/>
</part>
......
......
属性:
id string 纹理的id
image string 图片,可以用image="bitmap\progress_empty.png"或者image="$empty_image"
type string 纹理资源的类型
sidestretch int 只对ThreeInOneH和V支持,1标识对三张图片里面的左右拉伸,而不是中间
origin 只对Tile支持,origine配置如下 "x,y"
纹理资源的类型: 1.Stretch普通的拉伸
2.NineInOne 九宫格格式
3.ThreeInOneH 拉伸成水平的三张图片
4.ThreeInOneV 拉伸成垂直的三张图片
5.FiveInOneH 拉伸成水平的五张图片
6.FiveInOneV 拉伸成垂直的五张图片
7.Normal 自定义的纹理格式
8.Tile 平铺格式Image指定的格式,从平铺原点origin开始,从左到右,从上到下整个区域