HOMERSS 2.0RSS comments
sizeSMALLMEDIUMLARGEXTRA LARGE
home

回顧05292008

time
22/Thu
05 29 08 09 31
title AS3筆記-事件名稱的管理
title
類
論
別

AS3.0的特點之一就是有統一的event系統
通常event是由發佈端 dispatch(new Event(“eventName”);
然後由接收端, addEventListener(“eventName”, toDoFunc);

不過像是以上的寫法,當多人在同時develop同一個案子的時候,很容易就會造成使用到相同的名稱,而造成listener幻聽,執行一些不預期toDoFunc.
這種錯誤多半是因為用到一樣的”event”字串,所以很多人為了防止這類錯誤,而使用千奇百怪的名字去防止相同名字的event發生,問題是用了很多怪名字,雖然可以防止”撞名”,不過卻會造成其他開法者使用上的不方便.

詳全文 ReadMore


  • 恩... 1 Stars喔~ 2 Stars好! 3 Stars酷!! 4 Stars哇!!! 5 Stars (2 票, 平均: 3.50 / 5) << 請踴躍投票

    time
    22/Thu
    05 29 08 05 05
    title AS3筆記-ctor 不要太忙
    title
    類
    論
    別

    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


  • 恩... 1 Stars喔~ 2 Stars好! 3 Stars酷!! 4 Stars哇!!! 5 Stars (2 票, 平均: 3.50 / 5) << 請踴躍投票