作者cjcat2266 (CJ Cat)
看板Flash
标题Re: [问题] extends & super in书本上的例题
时间Mon Nov 19 13:43:28 2007
※ 引述《icedesign (不可或缺的咖啡因)》之铭言:
: function Bouncer(targetMC:MovieClip){
: super(targetMC,xVel,yVel)
: }
: 然後它又说不用写也跑的动,但是我的不写就是不动。
: 为什麽改了之後,ball_mc却可以动呢?
没错,应该是书上写错了
因为少给xVel和yVel,super根本就不知道这两个变数是从哪里来的啊
或者可以利用 function接收变数数量没有限制 这个特型
来做到一样的效果
这样的话Bouncer的constructor连一个参数都不需要定义
缺点是debug上面比较困难
public function Bouncer() {
if(arguments.length == 3) {
if((arguments[0] instanceof MovieClip)
&& (typeof arguments[1] == "number")
&& (typeof arguments[2] == "number")) {
super(arguments[0], arguments[1], arguments[2]);
} else {
throw Error("Wrong arguments passed");
}
} else {
throw Error("Wrong arguments passed");
}
}
--
CJ Cat = Croa'J Cat = Cockroach Cat = 西街凯特 = 蜚蠊猫 = 蟑螂猫
Gallery
http://cjcat2266.deviantart.com
ptt2 Board CJWorkshop - 阿多比闪光(Adobe Flash)研讨区
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.4.234
1F:推 icedesign:唉唷~限制这招赞喔!又多学到一招,感谢猫大~哈哈 11/19 14:40
※ 编辑: cjcat2266 来自: 140.112.4.234 (11/19 15:02)
2F:推 cjcat2266:但是AS3就有限制arguments数量罗 11/19 15:39
3F:推 cjcat2266:传入的arguments数量必须比function definition的还多 11/19 15:42
4F:推 aquarianboy:那就来个function overload罗,就没这个限制了 :) 11/19 21:02
5F:推 cjcat2266:我记得...Flash没有function overloading吧? 11/20 00:01
6F:→ cjcat2266:就只能靠arguments来决定 11/20 00:02
7F:推 aquarianboy:啊,对喔,不支援,最近.NET写昏头了.. :) 11/20 01:04