Re: [問題] 自訂類別中使用MovieClipLoader時的問題
這邊一定會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)
討論串 (同標題文章)
Flash 近期熱門文章
PTT數位生活區 即時熱門文章