5D艺术网首页
商城
|
资讯
|
作品
|
博客
|
教程
|
论坛
登录
注册
加为好友
发短消息
来自:上海
性别:先生
最后登录:2011-08-28
http://yunkai.5d.cn/
1989年用basic写了自己第一个游戏程序桥牌,1994年当小学老师,2003年开始了第一份IT工作做flash技术支持,到了2011年发现自己已经做了8年的flash开发,现在致力于游戏开发。
首页
|
新闻
|
话题
|
博客
|
相册
|
艺术作品
|
社交关系
|
留言板
|
社交圈
2004/11/05 | 关于Delegate的用法技巧
类别(AS3)
|
评论
(2)
|
阅读(1673)
|
发表于 09:32
一、如果需要移除监听事件中的委派切记不可以使用匿名类:
myButton.addEventListener("click",mx.utils.Delegate.create(this,onClick));
这样使用匿名类来传入,无法移除
myButton.removeEventListener("click",mx.utils.Delegate.create(this.onClick));
正确做法是保存引用
var myDelegate=mx.utils.Delegate.create(this.onClick);
myButton.addEventListener("click",myDelegate);
myButton.removeEventListener("click",myDelegate);
二、内置类事件的委派可以使用Delegate
我们一般的做法是增加owner来指向this路径
例:
var myCam=Camera.get();
Object(myCam).owner=this;
myCam.onStatus=function(info){
this.owner.onCamStatus;
}
可以写成
var myCam=Camera.get();
myCam.onStauts=mx.utils.Delegate.create(this,onCamStatus);
在onCamStauts中的this指向是正确的!
0
评论
Comments
日志分类
首页
[33]
AS3
[20]
工作日记
[10]
个人简介
[2]
ASV
[1]