2012/5/24

從 Event 改寫為 Signal 的注意事項

Signal 的命名採用[發生時間+主詞+動詞]
舉例 :
onClick
onKeyDown
beforeMouseDown
onMouseDown
afterMouseDown


只在對象為 this 時作 Event 轉 Signal
CJSignal 舉例 :



假設原先的 code 是這樣
public class Button extends Sprite 
{
}

public class Panel extends Sprite 
{
    private var button:Button = new Button();
    public function Panel(){
        button.addEventListener(MouseEvent.CLICK, function():void{
            this.dispatchEvent(new Event("onButtonClick"));
        });
    }
}



改法1:
像這樣直接把 addEventListener 改成 signal 的作法不好
public class Button extends Sprite 
{
}


public class Panel extends Sprite 
{
    private var button:Button = new Button();
    public var onButtonClick:NativeSignal = new NativeSignal(button, MouseEvent.CLICK);
}



改法2:
應該這樣做
public class Button extends Sprite 
{
    public onClick:NativeSignal = new NativeSignal(this, MouseEvent.CLICK);
}

public class Panel extends Sprite 
{
    private var button:Button = new Button();
    public function get onButtonClick():NativeSignal{
        return button.onClick;
    }
}



這是因為 button 可能會被 new 一次以上
如果用改法1的寫法
會產生多餘的 Signal 物件
也會造成程式碼重複

2012/5/19

hinet自動連線 在windows登入之前

hinet 非固定制ADSL 是需要撥號連線的

會有一個連線按鈕給你按

圖可以參考 hinet 提供


即使你把網路連線放到啟動裡面

開機後執行也只是跳出這個框框

還是需要手動點一下才會連線


當然這個少點一下是可以避免

不過就算你把他改成自動連線了

也是要在登入windows後 才會觸發啟動


問題來了

我有一台電腦從頭到尾就只想要用遠端連線

我需要一開機 在未登入windows之前就讓他連上網路

這樣我才能用遠端連線去登入windows

啟動辦不到 該怎麼辦?

答案是工作排程

我看了這篇文章後成功設定完成了

這樣我就不需要多買一組螢幕 鍵盤 滑鼠去控制第二台電腦

2012/5/16

賭博性質的商品競標網站

當初看到這篇文章的時候
覺得怎麼可能有這種拍賣網站
[密技公開] 如何以2元買到1990元的iPad周邊? 揭露以小搏大的競標真正內幕


這種類型的拍賣網站是這樣賺錢的
[人生智慧] 歷經十年的真實試驗-金錢拍賣會-讓你體悟人性陷阱

結果最近真的陸續看到這種網站的出現
BID & BUY
來福福袋

這兩個網站的遊戲規則不太相同
但本質是相同的

建議如果要玩的話
先看仔細遊戲規則再玩

--

感謝 plurk 上的網友提供關鍵字 : 競標網