|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
要在Flash中构建应用程序,可以使用Flash绘图工具创建图形,并将其它媒体元素导入Flash文档。接下来,定义如何以及何时使用各个元素来创建设想中的应用程序。
起首,AS3里function的参数能够有默许值了。
publicfunctionTestFunc(){
myFunc();
}
privatefunctionmyFunc(para1:int=10,para2:String="str"):void{
trace(para1+","+para2);//10,str
}
AS3里不克不及给出过剩的参数,
publicfunctionTestFunc(){
myFunc(2,"3",4);
}
privatefunctionmyFunc(para1:int,para2:String):void{
trace(para1+","+para2);
}
编译器给出参数不婚配的毛病:ArgumentError:Error#1063:ArgumentcountmismatchonTestFunc/TestFunc::myFunc().Expected2,got3.
如许之前那种用arguments拿到不流动参数的办法就不克不及用了。AS3给出一个新的关头字:…(rest)parameter
publicfunctionTestFunc(){
myFunc(2,"3",4,"5",true);
}
privatefunctionmyFunc(para1:int,para2:String,...more):void{
trace(para1+","+para2);//2,3
trace(more);//4,5,true
}
在流动的参数前面跟一个“…”和一个表达式(如例子中的“more”),“…”前面一切的参数将被放到以该表达式定名的数组中。注重“…”必需是最初一个参数。
假如利用“…”arguments就不成用了,天然也就拿不到arguments.callee(对以后正在实行的函数的援用),以是在断定不利用callee的情形下才干用“…”。
提到arguments,arguments.caller已被“remove”了。要想拿到caller必要把挪用函数的callee作为参数传给被挪用函数。官方的例子:
package{
importflash.display.Sprite;
publicclassArgumentsExampleextendsSprite{
privatevarcount:int=1;
publicfunctionArgumentsExample(){
firstFunction(true);
}
publicfunctionfirstFunction(callSecond:Boolean){
trace(count+":firstFunction");
if(callSecond){
secondFunction(arguments.callee);
}
else{
trace("CALLSSTOPPED");
}
}
publicfunctionsecondFunction(caller:Function){
trace(count+":secondFunction
");
count++;
caller(false);
}
}
}
小编物语:仍是那句话,我们不是每一个人都能对FLEX云云懂得,但我们每一个人都可以为我们乐趣做点点勉力。只需你的一次点击,一次留言就可以给作者更多的动力。国际常规……个人至哲人梦话的窝注水。
您是否有着精彩的Flash作品,您是否想把他转化为屏保程序。 |
|