Tag: as3 FLASH

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不支持上传附件,我爆汗。




评论

发表评论

 姓名:
 E-mail:
 地址:
   
 验证码: