Re: [問題] 自訂類別中使用MovieClipLoader時的問題

看板Flash作者 (玉仔〒△〒)時間18年前 (2007/04/14 09:41), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/3 (看更多)
這邊一定會trace不到test跟你自訂的函數了。 因為在mclListener.onLoadInit=function底下, 所得到的this參照是mclListener而不是你那個class。 你可以試試看在定義mclListerer時多給他一個attribute帶著 你要指定的位置的參照。如: var test=1; var mclListener:Object = new Object(); mclListener.__this = this; mclListener.onLoadInit = function(target_mc:MovieClip) { trace("囧"); trace(this.__this.test); trace(this.__this.自訂函數); trace(this.__this._parent); } public 自訂函數() { } 希望這樣可以幫助到你^^ ※ 引述《etrexetrex (ETREX)》之銘言: : 問題簡化(不是重點的地方全部省略) : var test=1; : var mclListener:Object = new Object(); : mclListener.onLoadInit = function(target_mc:MovieClip) { : trace("囧"); : trace(test); : trace(自訂函數); : trace(_parent); : } : public 自訂函數() : { : } : 實際上那個自訂函數當然是英文的 : trace的結果如下: : 囧 : undefined : undefined : undefined : 證明在自訂類別中讀不到類別的變數,也讀不到類別的函數 : 最後問題是這樣解決的: : mclListener.自訂函數 = 自訂函數; : 難道真的沒辦法讀嗎?我不相信FLASH的功能這麼弱,也許是我對路徑的觀念不熟, : 所以有此一問 0.0 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.115.207.133 ※ 編輯: liveinlow 來自: 59.115.207.133 (04/14 09:55)
文章代碼(AID): #168353nf (Flash)
文章代碼(AID): #168353nf (Flash)