看板 Flash 關於我們 聯絡資訊
※ 引述《cjcat2266 (CJ Cat)》之銘言: : 一個Flex程式最外層的DisplayObjectContainer叫做root : root是一個Sprite物件 : 你在Flex裡面所放的所有control物件都在root.application裡面 : 那個class之所以抓不到label的原因 : 是因為你直接寫label,程式會以為你是要找這個class的物件裡的label : 帶是這個class又沒有定義label這個property,當然會出錯 : 有一個解決方式,就是在這個class定義多宣告一個變數 : 讓他成能夠得到Flex主程式的root reference : public var r:Sprite; : 另外把change()改成這樣 : public function change():void { : Sprite(this.r.application).label.text = "some text"; : } : 然後在主程式MXML裡面需要修改label的函式裡面寫 : //假如你的class叫做MyClass : var obj:MyClass = new MyClass(); : obj.r = root; : obj.change(); : 這樣就可以了 : 以上code沒有經過測試,可能有打錯字 : 不過理論上可行 :) 首先感謝兩位大大的協助,學了很多^^~ 剛剛試了一下CJ CAT大的程式.... 但還是不行耶@@||| 原理大致上了解了,但還是報出一樣的錯誤.... 目前有在查說明文件了,不知大大是否可以在指點一下明路~^^~ 謝謝~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.126.249.114
cjcat2266:是什麼錯誤啊 01/23 23:02
LCDbest:好像是編譯器的問題@@?不好意思喔大大...我先試一下>"< 01/24 10:36