通过上节对FlahsMX组件的衍生过程的熟悉,相信我们对于创建属于自己的用户组件会有一定的前期认识。当然,上节的内容只是奠定组件编写的总体思维方式,而真正的组件创作过程并没展开。在本章内我们将带领大家一起探索用户组件创建的神秘历程。
1 创建组件相关的重要指令
组件的创建绝不同于构建一个简单的功能函数,也不同于制作一个相似功能的Smart Clip,由于FlashMX
Components的创建引入了许许多多新的全新概念,因而也随之引入了一些全新的赋予新的作用与含义的函数与方法等操作指令,如自定义组件的函数#initclip
#endinitclip和方法Object.registerClass()、addProperty()。由此,我们在正式邀请大家编写用户组件之前想请大家再一起来了解与熟悉一下这些关键的指令。
#initclip
适用版本:Flash Player 6.
语法:#initclip order
参数:order 整数,指定#initclip代码块的执行次序,可选。
说明:
该指令表示一组Component初始化动作的开始。在同时初始化多个MC时,可以使用参数order来指定初始化优先次序。Component初始化动作在相应MC组件已定义时才执行。若该MC属于输出影片类型,Component初始化动作就在该SWF文件第一桢上的动作之前执行。否则,Component初始化动作就在包含相关MC组件第一个实例的那一桢上的动作执行之前执行。
影片播放中component初始化动作仅仅执行一次,用于一次性初始化,比如类的定义与注册。
#endinitclip
适用版本:Flash Player 6.
语法:#endinitclip
参数:无
说明:
与#initclip一起配对使用,组件的初始化过程以#initclip开始以#endinitclips出现为结束。
Object.registerClass
适用版本:Flash Player 6
用法:
Object.registerClass(symbolID, theClass)
参数:
symbolID:影片剪辑元件的链接标识符,或动作脚本类的字符串标识符。
theClass:指向动作脚本类的构造函数的引用,或为 null,则不注册元件。
返回值:
如果类注册成功,则返回值为 true;否则,返回 false。
|