[]LayaFlash getQualifiedClassName和组件定义问题

1.flash.utils.getQualifiedClassName;
现有一个rect_mc, flash库的中链接类名为:Rect, 尝试.getQualifiedClassName(rect_mc)得到的是"iflash.display::MovieClip"而不是"Rect".虽说不支持链接类,但是很多时候写这个类名只作为一种类型的区分,比如我只想在舞台上放一个框来代表一个敌人的位置,然后遍历舞台所有子对象来判断是不是敌人,这个时候就非常有用了,也许你会说可以用实例名来代替,那我现在有30个关卡,每个关卡有好多个敌人,是不是要我每一个都取一个实例名啊??
2.组件属性. 假如我现在有一个平台,他可能是不同的颜色,运动的方式不同,可能是做圆周运动,左右,上下运动.这个时候我一般如图1所示在库中右键该元件定义组件属性.然后如图2,在每个实例再设置相应的值,最后在代码中访问动态属性的方式来获取,可是在layaFlash里访问到的全是undefined,可能你还是会说用实例名代替,但是我实在不知道怎么命名了
3.吐糟...这两个问题不解决,我不会考虑使用LayaFlash了
图1:
1.png

图2:
2.png

 
已邀请:

cuixueying

赞同来自:

@jianhua928你好:
问题1、flash.utils.getQualifiedClassName;
   getQualifiedClassName这个方法目前确实是不知持,不过之后可能会考虑加上,至于你以上所说的使getQualifiedClassName方法进行类型判断,建议可以换种做法。
问题2、是否支持链接类
   链接类肯定是支持的,可以通过ApplicationDomain.currentDomain.getDefinition方法去获取。
问题3、组件属性
   如果用到了flash的原生UI组件(fl库),转换的时候需要把flash原始UI代码copy出来,皮肤导出swf,加载进来。操作步骤叫繁琐,所以这部分我们建议您可以使用MornUI。


 

jianhua928

赞同来自:

我所说的组件不是flash的原生UI组件,是自定义的组件,要求不复杂,只要求给一个影片剪辑不通过代码加入一些动态属性而已,具体如下:
1.在库中新建影片剪辑,右键-->组件定义.
1组件定义.jpg

2.点"+ "号,定义一个speed属性.
2组件定义.jpg

3.拖入到舞台,把speed改为任意值,不能是默认的.
3组件定义.jpg

4.在时间轴第一帧,如下图所示,调试输出
4组件定义.jpg

5.用layaFlash编译,输出的是undefined

要回复问题请先

商务合作
商务合作