KCDDP ADV综合创作站 » 技术发布区 » 单幅图片的动画播放插件


2007-6-20 12:45 karryngai
单幅图片的动画播放插件

此物是用来播放单幅图片上的动画的,和使用asd播放类似
个人不怎么喜欢AnimationLayer,用asd太麻烦了,每次播放动画都要写一次,很麻烦
还有Animation对图片循环是用解释器去做的,这个太恶心了,原因是偶不懂解释器的具体实现方法= =
干脆自己写个程序,轻松搞掂动画的问题,使用的方法和AnimationLayer的一样,只是用timer代替了解释器的循环
但是使用方法就要爽多了,还可以同时播放几种动画

@playanime layer=1 storage=anime.png num=10 w=40 h=40 mode=add left=100 top=100 time=5000 interval=60 reverse=true
layer                所在层,在这里无法使用背景层
storage                图片名
num                图片中所含要播放的子图片的数目,如果不使用,就会播放所有子图片,即使是空白的部分
w,h                图片中所含要播放的子图片的长和宽
mode                模式,默认是ltAlpha,推荐使用add,加法运算能去除黑色背景
left,top        动画所处的位置,默认是(0,0)
time                动画播放的时间,播放完后会自动停止,而不是消失,这点要注意,如不设定,动画就会自动循环,默认是自动循环
interval        播放一幅图片的间隔,用1000除以它就是每秒的帧数,预设是60
reverse                这是个好东西,设定为true的话,动画就会从第一帧播到最后一帧,然后再从最后一帧返回来,再从第一帧开始播放,如此进行
                false的话,播到最后一帧后会自动回到第一帧,默认是false

@playanime name=tsukasa index=100000 storage=anime.png num=10 w=40 h=40 mode=add left=100 top=100 time=5000 reverse=true
也可以用name代替layer,用name的话就会自动生成一个非默认的新层
此时会增加参数index,默认是2000000+1

@stopanime layer=1                让layer=1层动画停止,停止时动画就在屏幕上不动了
@stopanime name=tsukasa                让名为tsukasa层动画停止,停止时动画就在屏幕上不动了

@resumeanime layer=1
@resumeanime name=tsukasa
让停止的动画继续播放

@clearanime layer=1
@clearanime name=tsukasa
清除动画,注意每使用一次动画后一定要清除,不能企图用playanime进行第二次动画的播放

@waitanime layer=sa1
@waitanime name=satsukasa
等待layer=1或名为tsukasa的动画层停止为止,注意必须要在前面加上sa,以对应相对的层
这也是为了不和偶所写的御姐体zoomrot发生冲突而做的

@waitanyanime
如果嫌上面的方法麻烦,可以用这个,这个可以等待任何的动画层播放完毕

2007-6-20 12:50 karryngai
[img]http://photo6.yupoo.com/20070620/124345_1734376071_wrdbceoi.jpg[/img]



以上图片是800*1200的冰魔法图片,格式大概就是这样,后面的空白部分可以任意长地搁着,如上
每幅子图的大小是200*200,所以w=200 h=200 共有15幅子图,所以num=15,如果整幅图片都被子图填充满,没有空白的部分,可以不填num,要说明的大概就是这样了。。。

2007-11-20 09:38 kaka850309
:L 这个单幅动画效果有程序文件么,只有参数,执行函数和宏声明在哪呢。。。:L

2008-8-4 15:34 darkcross
求tjs文件……

karryngai 大大,麻烦你在推萝莉之余发下那个文件啊……

先谢谢了!

页: [1]


Powered by Discuz! Archiver 5.5.0  © 2001-2006 Comsenz Inc.