虽然我们已经学会了如何为简单动画写代码,但还有很多其他可以制作不同效果的代码存在。以下就是这些代码的列表。
- 无限时间:
你也许想让动画无限期地停留在某张图片上,直到战斗结束为止。要达到这个效果,你只需要将图片的时间(帧数)设置为-1即可:
代码:
[Begin Action 123]
123,0,0,0,4
123,1,0,0,4
123,2,0,0,4
123,3,0,0,4
123,4,0,0,-1
图片123,4将会无限期地显示着。
- 图片翻转:
假如你有图片需要水平或垂直翻转的,你并不需要在PS里进行修改,然后往Sff里多放几张图。你可以在动画的定义里处理些简单的翻转效果。在代码行的结尾加入“H”会让图片水平方向翻转,加入“V”则会让图片垂直方向翻转,你也可以加入“HV”来同时进行两个翻转:
[示例代码]
[Begin Action WTF Flip]
10,2,0,0,5 ;普通图片效果
10,2,0,0,5,H ;和原图水平对称的图片
10,2,0,0,5,V ;和原图垂直对称的图片
10,2,0,0,5,HV ;和原图中心对称的图片
[示例代码]
- 添加透明:
我们在之前的普通图片代码中使用“Trans”参数来让云朵透明化。然而,在写动画代码时,你可能会想直接在动画内进行透明定义。这可以通过在每行代码末端增加一些字符来达到:
代码:
[Begin Action WTF Trans]
10,2,0,0,5 ;普通图片效果
10,2,0,0,5,,A ;颜色叠加透明(和trans=add相同)
10,2,0,0,5,,A1 ;颜色叠加透明附带背景亮度降低50%(和trans=add1相同)
10,2,0,0,5,,S ;减去颜色透明(和trans=sub相同)
注意两个逗号“,,”,这是因为在代码之间还有一处是留给图片的翻转效果的,就如同在上一段(图片翻转)所见到的那样。
假如你使用的是Winmugen或Linux Mugen(不是DOS Mugen),你还可以超越“Trans = AddAlpha”获得更好的透明效果。而这可以是通过添加“ASxxxDyyy ”实现的, “xxx”为原图值,“yyy”为目标值,两个值介于0到256之间。假如你想制作淡出动画,你可能会使用以下代码:
代码:
[Begin Action 16];Fading Out
16,0, 0,0, 4,,A
...
16,13, 0,0, 4,,A
16,14, 0,0, 4,,A
16,15, 0,0, 4,,AS200D256
16,16, 0,0, 4,,AS160D256
16,17, 0,0, 4,,AS120D256
16,18, 0,0, 4,,AS80D256
16,19, 0,0, 4,,AS40D256
16,-1, 0,0, 40,,AS40D256
最后一行的意思是所使用的图片为空白图片。
- 开始循环:
这个参数允许你对动画开始循环的图点进行定义。一个范例胜过万千理论:
代码:
[begin Action 10]
10,0,0,0,5
10,1,0,0,5
10,2,0,0,5
10,3,0,0,5
10,4,0,0,5
LoopStart
10,5,0,0,5
10,6,0,0,5
10,7,0,0,5
10,8,0,0,5
10,9,0,0,5
循环起始点被定义在了图片10,5上,意味着动画会从那儿开始循环。因此,第10组动画的图片播放顺序将会是:
0 1 2 3 4 5 6 7 8 9 5 6 7 8 9 5 6 7 8 9 ……