仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1468|回复: 8
打印 上一主题 下一主题

[学习教程] FLASH教程之哲人梦话的AS3进修条记:Function

[复制链接]
兰色精灵 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-15 22:55:03 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

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作品,您是否想把他转化为屏保程序。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-1 08:37

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表