2011年8月31日 星期三

使用變數new物件,未清除的結果

在Flash裡,當我們使用AS來產生一個新的物件
通常都會用使用一個變數來把物件new出來,
並在這物件上加入監聽事件

var myBtn:Button=new Button()  
myBtn.addEventListener(MouseEvent.CLICK,someThingToDo);
這個已宣告的變數myBtn,已經指向了這個被產生出來的物件
如果在之後的程式做了以下動作可能會發生的狀況如下

1.在未移除原先產生物件的狀況下,若再使用同樣變數再產生物件
myBtn=new Button()
myBtn.addEventListener(MouseEvent.CLICK,doAnothingThing);
則只是把變數指到新的物件,原先的物件並不會被清除掉
畫面上會有多個物件同時並存
若還有監聽事件,則當Click任一物件時都會同時觸發所有被監聽的事件

2.若將變數設定成null再重新產生物件
myBtn=null;  
myBtnButton=new Button();
畫面上還是會保有多個物件
只是每個物件被click時只會觸發最後設定的那個listener
而非多個listener被觸發

2011年8月22日 星期一

使用Chrome Debug Flash

一.在Chrome上安裝debug player
1.安裝debugPlayer
http://www.adobe.com/support/flashplayer/downloads.html

2.打開Chrome輸入 about:plugins
找到flash 按停用,再按右上方詳細資料
找到路徑非 Chrome的那個按啟用

3.開啟網頁

http://kb2.adobe.com/cps/155/tn_15507.html

確認使用的player版本

二.下載Vizzy
使用Vizzy可以不受browser限制,查看trace訊息

下載