请你注意一下【库】中项目,一个MC有了“参数”,它发生了“质”的变化,现在这个元件的类型是“组件”,它的“图标”也作了相应改变。
我们再看看它的【属性】面板,如图7-3-13所示。
我们可以看出:“智能动画片断”的基本属性与普通MC完全一样,只不过,在它的【属性】面板右下角多出了一个【参数】按钮。
图7-3-13 智能动画的属性面板
单击【参数】按钮,就是“参数设置”部分了,如图7-3-14所示。
在本例中,我们把这个“SC”复制成6份,然后分别把它们的【speed】值设为“5”、“10”、“15”、“20”、“25”、“30”。这样就使1个演员兼备6种“才能”,请你注意,这与“实例复制”完全不同,后者只能进行“表面”的变化,如大小、颜色、方向等。
那么,我们如何利用这个“参数”呢?让我们进一步看看“SC”内部的情况。
图7-3-14 智能动画的参数
这6个对象是完全一样的,你可以选择任意一个(你可能发现“双击”起不了作用,这一点与一般的“MC”有点不同),调出“右键菜单”,单击【编辑】菜单项,如图7-3-15所示。
图7-3-15 对象的右键快捷菜单
现在我们进入了“唯一的智能MC”这个SC的编辑界面,如图7-3-16所示。
图7-3-16 “唯一的智能MC”编辑场景
这里是个叫“基本MC”的影片剪辑对象,它的“帧代码”仅有一条:“myfun();”,请参见图7-3-17,它的意思是:当播放指针到达当前“帧”时,运行“myfun()”。
那么“myfun()”是什么呢?它是一个“自定义函数”,要知道它的内容,请“双击”这个“基本MC”,这一下“双击”有效了,因为这个“基本MC”是普通的MC。
图7-3-17 “基本MC”的帧代码
现在我们进入了“基本MC”的编辑界面,如图7-3-18所示。
图7-3-18 “基本MC”中的按钮指令
在“基本MC”中,包含3个对象:1个按钮及2个“动态文本”。
我们先看看按钮指令:
这是2条按钮事件指令,它们的意思是:当鼠标经过该按钮时,设置变量“sobre”为“1”,当鼠标离开时为“0”,这是为主程序“myfun()”提供了2种“状态变量”。
左边“动态文本”对象的变量名是“speeds”,它实时显示对象的“透明度值”(动态值);右边的“动态文本”对象变量名是“_parent.speed”,它直接显示了对象“参数设置值”(固定值)。
最后,我们来看看主程序“myfun()”,用鼠标单击“控制图层”的第1帧,打开【动作】面板,如图7-3-19所示就是“自定义函数”:myfun()。
图7-3-19 主程序代码
“myfun()”程序其实就是2种状态:鼠标进入(“sobre==1”)和鼠标离开(“sobre==0”)。
现在简单描述一下代码意思:
当鼠标进入该对象时(“sobre==1”),如果它的透明度已经大于“0”,那么它的透明度减去“speed”,这就是对象的“参数值”,不同的对象有不同的值,从而产生不同运行结果。
由于这个程序是反复运行的,所以透明度是连续递减的,当透明度小于“0”时,设置为“0”,最后把这个变化值赋给“动态文本变量”:speeds。这就是动画播放时我们看到的左列数字变化。
当鼠标离开该对象时(“sobre==0”),如果它的透明度没满“100”,那么就以“speed”为步长递增,当超过“100”时,把透明度值设为“100”,最后再把变化值赋给“动态文本变量”:speeds。
这就是主程序的全部意思。
本例是个很简单的示范,事实上“SC”可以定义多个“参数”,做出相当复杂,功能强大的动画组件。