 |
月 |
日 |
年 |
時 |
分 |
22/Thu |
| 05 |
29 |
08 |
09 |
31 |
肆 |
AS3.0的特點之一就是有統一的event系統
通常event是由發佈端 dispatch(new Event(“eventName”);
然後由接收端, addEventListener(“eventName”, toDoFunc);
不過像是以上的寫法,當多人在同時develop同一個案子的時候,很容易就會造成使用到相同的名稱,而造成listener幻聽,執行一些不預期toDoFunc.
這種錯誤多半是因為用到一樣的”event”字串,所以很多人為了防止這類錯誤,而使用千奇百怪的名字去防止相同名字的event發生,問題是用了很多怪名字,雖然可以防止”撞名”,不過卻會造成其他開法者使用上的不方便.
詳全文 ReadMore
 |
月 |
日 |
年 |
時 |
分 |
22/Thu |
| 05 |
29 |
08 |
05 |
05 |
肆 |
Constructor / ctor / 建構子
寫了一陣子的 AS3 了, 碰到了一些問題都是建構子作太多事情惹得禍 – 尤其不要一new就開始執行動作…
我覺得以下的用法會比較好,尤其是在用Polymorphism更改設定的時候。
在使用Class的時後,flexible的方式可以是:
var a:aClass =new aClass();
a.setting1=value1;
a.setting2=value2;
a.objSetting=obj;(註)
.
.
a.init();
所以用以下的原則來寫 a.as 就可以用以上的這些方法來修改.
使用 : new->設定->init
開發 : constructor->必要的物件跟一些default 設定值 init->把設定設進去,啟動
這麼一來寫出來的class就可以變化比較多了…
(註)可能某些東西會適用,物件為設定值的方法,可以用:
var a:aClass =new aClass();
a.setting1=value1;
a.setting2=value2;
a.objSetting = obj;
.
.
a.init();
在 aClass.as裡面
public var objSetting:*;
.
.
public function init():void{
smoeObj = new objSetting ();
}
不需要用 getDefinitionByName