AS3:遇到的问题

********************************************************************************

问:当有两个sprite同时都监听了某一个Event,但是我想只让其中一个sprite监听这个事件

 

public class Event包

stopImmediatePropagation()方法
 

      防止对事件流中当前节点的后续节点中的所有事件侦听器进行处理。此方法不会影响当前节点 (currentTarget) 中的任何事件侦听器。相比之下,stopImmediatePropagation() 方法可以防止对当前节点中和后续节点中的事件侦听器进行处理。对此方法的其它调用没有任何效果。可以在事件流的任何阶段中调用此方法。

注意:此方法不会取消与此事件相关联的行为;

 

******************************************************************************************

问:有三个sprite(先在stage中添加1,再添加2,再3),完成后我对1中再添加一个1.1sprite,并addChild,可是1.1没有显示出来,这是为什么?

 

这里涉及到层的问题,3在最后添加到stage中,所以3会挡住2和2下面的child ,当然也挡住1和1下面的child。如果3是visible=false,它就不会挡住别的child,所以如果想让1.1显示,就必须把1.1添加到最外层里面去,也就是1.1变成4或者3.1

 

*********************************************************************************************

问:关于接口

答:接口为interface类型 无变量 且方法无逻辑操作,无参数,没有实际对象,只有依靠子类建立对象

有接口I,方法traceHandle(), A B C继承I,如想操作A B C子类中的traceHandle方法,可这样做:

         var i:I=new A();              var i:I=new A();           var i:I=new A();  

         i.traceHandle();               i.traceHandle();            i.traceHandle();  

结果         a                                         b                                      c

这样做就只建立了一个接口对象,省下了内存

 

***********************************************************************************

 

问:关于加载swf文件有两个方法。

答:在游戏中的大视图界面faceUI用的是Embed载入swf中的symbol  ;

[Embed(source="assets/hehe.swf",symbol="test")]

这里的test是fla文件中的链接,可以在右下角按钮模块中找到

此方法缺点是加载很慢,影响加载进度,优点是可以完全加载进来,防止加载不完全的情况,如何引用swf中的控件呢?只需要定义一个最外面的moveClip,然后moveClip[控件名]即可对其控件引用。

第二种是用loader类进行swf的加载,不必要重新定义,直接取对象即可

 var tempClip:MovieClip=loader.getChildAt(0) as MovieClip;

personClip=tempClip.getChildAt(0) as MovieClip;

this.addChild(personClip);

personClip.closeBtn.addEventListener(MouseEvent.MOUSE_DOWN,onMouseDown);

*************************************************************************************

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值