TA的每日心情 | 奋斗 2022-7-4 09:45 |
---|
签到天数: 28 天 [LV.4]偶尔看看III
版主
- 积分
- 5481
|
启程输入法3.0支持简单的帧动画。
所谓帧动画就是动画是一帧图片组成的,例如常见的GIF。不过启程输入法不魂使用GIF,主要是因为GIF边缘不可避免的会有锯齿,支持GIF效果不好。
启程输入法支持APNG,APNG是类似GIF的一种动画格式,只是APNG有alpha通道,不会有GIF那样的锯齿。
如果用户有一个apng动画图,把它加到uires.idx为<img><file name="apng_test" path="image\xxxx.apng"/></img>
那么可以定义下面的skin
<apng name="skin_apng" src="img:apng_test"/>
此外启程输入法也支持将所有动画帧组合到一个PNG图中,使用一个pngx的skin对象来实现帧动画。
假定有一个动画包含1-10帧,标记为A-J帧。如果每一帧的停留时间都是20MS,那么可以在skin表中用下面的skin来描述这个帧动画的skinobj对象。
<pngx name="skin_pngx" src="img:ani_test" delay="20[10]"/> 其中img:ani_test是这个png图片在uires.idx的文件索引。
其中delay属性是每一帧的延时,使用“,”分隔。如果连续2帧以上延时相同,则可以用[rep]来表示。例如上面20[10]等价于delay="20,20,20,20,20,20,20,20,20,20"
上面介绍了如何定义一个支持动画的skinobj,要在界面里使用这个动画还需要一个窗口做为载体。
启程输入法这这个载体就是apngPlayer。
例如:
- <apngPlayer pos="-0,-0" offset="-1,-1" size="@dim/apng_width,@dim/apng_high" skin="apng_haha" extend="@dim/logo_extend_left,@dim/logo_extend_top,@dim/logo_extend_right,@dim/logo_extend_bottom" />
复制代码 布局属性和其它窗口一样,只要符合SOUI的布局规则就可以了。要播放一个动画,只需要使用skin属性来引用上面定义的apng或者pngx对象即可。
|
|