a3创建自定义组件
klstudio写的自定义组件教程:http://www.klstudio.com/post/129.html
这里要注意一下,组件内所包含的显示元素一定要用命名空间来做前缀(就是上面“use namespace klstudio_internal;”代码),下面就命名空间定义变量。如果不加的话,就无法直接对boundingBox_mc显示元素操作(这一点和原来Flash组件开发不同的地方,原来是可以直接使用的),否则编译时就会报错。
对于上面的话,我经过测试后是不认同的,命名空间对于我来说是陌生的,在那里绕了几个小时也没理个头绪只好放弃,打开ADOBE自己的组件查了下,照着原样做组件,还是可行的,以下是流程与注意事项。
1、可视元素设置好链接名称;
2、新建Main剪辑,首先第一帧放占位符,不要设置实例名称;其次将设置好链接名称的可视元素放在第二帧,也是不要实例名称;最后且记不能有任何时间轴代码。
3、这个组件是干啥用的,那就得你自己写类代码了哈,在构造函数时要加上这句if(this.numChildren > 0){this.removeChildAt(0)}意思就是将占位符从可视对象列表中移除。
4、在类里创建可视元素,不要直接new资源,最好是通过ApplicationDomain来判断是否存在再获取创建如:
var domain : ApplicationDomain = ApplicationDomain.currentDomain;
var path: String = "MCA"
if (domain.hasDefinition(path)
{
var MCClass :Class = domain.getDefinition(path) as Class;
this.$test_mc= new MCClass() as MovieClip;
this.addChild(this.$test_mc);
}
5、如果你确定你的类代码无误,那就编译吧,再参照klstudio写的组件教程,就OK。
原想上传个附件,但这个BLOG不支持上传附件,我爆汗。


评论