AS3中大部分时间都有参数吗?我想要一个大部分时间都能运行的代码设置。有什么建议吗?
书籍将其分解,但没有表明程序员如何得出他们的结论。这可能会成为一个讨论问题,但如果有一个我想知道的秘密。
我之后是什么
- 一个参数结构
- 学习执行函数调用的过程
- 扩展变量超出我的“20行代码”
- 系统地管理变量,事件和功能
2个做同样事情但结构不同的例子“go figure”
//Example #1 "move the ball"
addEventListener(Event.ENTER_FRAME, onLoop, false, 0, true);
function onLoop(evt:Event):void{
ball1.x += 5;
}
//Example #1 "move the ball"
function moveBall(e:Event):void {
ball2.x += 5;
}
ball2.addEventListener(Event.ENTER_FRAME,moveBall);
if ... else参数“ball loop”
//growing collection of arguments
addEventListener(Event.ENTER_FRAME,myEnterFrame);
function myEnterFrame(event:Event) {
if (ball.x>800) {
ball.x=-160;
} else {
ball.x+=5;
}
}
来自Adobe liveocs的不同方式“
EQUIVILANT BOOLEANS
var flag:Boolean = true;
var flag:Boolean = new Boolean(true);
var flag:Boolean = Boolean(true);
EQUIVILANT STRINGS
var str:String = new String("foo");
var str:String = "foo";
var str:String = String("foo");
COMMENT
像lambda演算这样的功能样式将是一个很好的例子“更多的数学减少语法和类结构”
活动聆听者
http://www.adobe.com/devnet/actionscript/articles/event_handling_as3.html
答案 0 :(得分:0)
我建议您阅读Adobe网站上的事件处理程序。 http://www.adobe.com/livedocs/flash/9.0/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00000139.html
从网站,这是addEventListener的函数定义:
function addEventListener(eventName:String,
listener:Object,
useCapture:Boolean=false,
priority:Integer=0,
useWeakReference:Boolean=false):Boolean;
最后三个参数具有默认值(false,0,false),因此在调用函数时可以省略这些参数。始终需要前两个参数。
我认为通过学习AS3中的面向对象编程,可以最好地回答您的其余问题。以下是一个指南:http://www.adobe.com/devnet/actionscript/articles/oop_as3.html
答案 1 :(得分:0)
实际上,许多开发人员更喜欢将useWeakReference设置为true,这要求您将所有五个参数插入到事件侦听器中。原因在于,侦听器不会持有对阻止垃圾收集的目标的引用 - 这是一种内存管理技术。大多数非常好的AS3开发人员会告诉你总是使用所有五个参数,只是为了达到这一点。
另外,一般来说,最好在可以的时候使用文字。 “text”而不是new String(“text”),true而不是new Boolean(true)。复杂的原因,但有你的简短回答。
可以找到许多这些问题的答案here,这是一个试图标准化AS3编码约定的文档。值得一读!