Flash 板


LINE

[追加] 补上事後写的AS3 Event Listener Delegtes详细文章 http://allenchou.net/2012/07/actionscript-3-0-event-listener-delegates/ 可以考虑把参数和function reference包到物件里 这个技巧就是所谓的"委派" (delegate) //in delegate.as package { public function delegate(func:Function, ...params):Function { return new Delegate(func, params).invoke; } } import flash.events.Event; class Delegate { private var func_ :Function; private var params_ :Array; public function Delegate(func:Function, ...params) { func_ = func; params_ = params; } public function invoke(e:Event):void { func_.apply(null, params_); } } //end of Delegate.as //in time line function myListener(i:int):void { gotoAndPlay(i); } for (var i:int = 0; i < 3; ++i) { addEventListener ( MouseEvent.CLICK, delegate(myListener, i) ); } 当然,如果你的myListener里面只有呼叫gotoAndPlay的话 其实根本不用额外宣告myListener这个function 直接传入gotoAndPlay就可以了 addEventListener ( MouseEvent.CLICK, delegate(gotoAndPlay, i); ); -- Blog http://blog.cjcat.net Gallery http://cjcat2266.deviantart.com ptt2 Board CJWorkshop --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 72.5.59.140 ※ 编辑: cjcat2266 来自: 72.5.59.140 (07/17 06:57)
1F:→ cjcat2266:补上含详细说明的blog连结 :) 07/17 06:58
※ 编辑: cjcat2266 来自: 72.5.59.140 (07/17 07:16)
2F:推 sayaku0210:有神!快推!! 07/17 12:36
3F:推 ann263028:研究中 先给推 07/17 13:02
4F:推 sayaku0210:不过这时func_应该可以直接写成func_(params_) 07/17 13:06
5F:→ cjcat2266:不行,因为params_是阵列,要用Function.apply传入 07/17 13:33
6F:→ sayaku0210:不过照我那样写丢值进去可执行耶~@@~难道他会自己转换? 07/17 13:46
7F:→ sayaku0210:当然直接myListener([1]);会直接挂掉! 07/17 13:48
8F:→ sayaku0210:还蛮神奇的 07/17 13:50
9F:→ cjcat2266:楼上是用trace测试吗? 用trace会自动呼叫Array.toString 07/17 14:44
10F:→ cjcat2266:将Array转换成 element1, element2, element3 的字串格 07/17 14:44
11F:→ sayaku0210:是用trace没错!像是传入[1]会输出1,但传入[1,2]会输出0 07/17 14:49
12F:→ sayaku0210:所以是trace的原因阿~@@ 07/17 14:49
13F:→ sayaku0210:所以http://goo.gl/aaR6T 也是这个原因罗? 07/17 14:55
14F:→ cjcat2266:int([1]) → int("1") → 1 07/17 15:07
15F:→ cjcat2266:int([1, 2]) → int("1, 2") → 0 07/17 15:07
16F:→ cjcat2266:因为"1, 2"非合法数字字串,导致隐晦转型失败 07/17 15:08
17F:→ cjcat2266:而使用预设int值,也就是 0 07/17 15:08
18F:→ sayaku0210:不过这样为什麽第一种不行第二种就可以过,还是搞不懂 07/17 15:12
19F:→ cjcat2266:一切都是隐晦转型在搞鬼,没把握的话就别去踩地雷呗 07/17 15:20
20F:→ cjcat2266:乖乖按照正确type来写最安全 07/17 15:21
21F:→ sayaku0210:感谢CJ神的解惑!! 07/17 15:23







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:e-shopping站内搜寻

TOP