最近利用flex开发项目的一些心得

  目前,正在用flex开发一些小功能,中间遇到一些问题,现在总结如下:

  1、继承Sprite的对象,需要支持鼠标

       在使用从Sprite继承的对象时候,需要鼠标滑过该对象Sprite的时候需要改变鼠标显示形状。在Sprite属性有一个useHandCursor,设置为true,但是,设置了这个属性,还是不管用。后来发现mouseChildren属性,它的默认值为true,就是响应鼠标事件,所以,当使用addChild把一个子项加入到Sprite的时候,就把响应鼠标事件的对象就变成这个子项了。因此,光设置useHandCursor不管用的,还需要把mouseChildren设置为false。(为了解决这个问题花了快大半天的时间, /(ㄒoㄒ)/~~)

  2、两个swf实现通信的机制

       flash.net中有个LocalConnection的类,可以实现两个或者多个swf之间进行通信。用LocalConnection的机制,我觉得可以理解为一个sender和一个receiver。

      对于receiver需要完成以下步骤:

      1)、从LocalConnection下继承一个类,然后,在这个继承类中编写由sender需要调用的函数,比如:需要调用的函数为test(), 这样在继承的类中需要实现test的方法。

      2)、然后再receiver中的swf,实例化一个上述继承的类,调用connect的方法,其中的参数是链接的名称,这个名称可以任意的。

 

     对于sender需要做的就是,实例化一个LocalConnection,然后调用send方法就可以了。

  3、Javascript 和 Flash之间的通信

      要实现Javascript和Flash通信,主要是通过Flash中的ExternalInterface来实现的,比较简单。但是,需要注意一个问题就是,在Javascript调用Flash中的函数时候,要注意调用的时机。有可能会出现“空对象调用”等错误。这是由于在Javascript调用Flash方法时候,有可能Flash的 ExternalInterface.addCallback没有注册好,所以,保险的做法就是在ExternalInterface.addCallback后面调用ExternalInterface.call调用外部Javascript的函数,在这个Javascript函数中再去调用中Flash的函数,这样保证先注册成功,然后再由Javascript调用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值