看板 Flash 關於我們 聯絡資訊
目的: 在主檔案裡面想要呼叫load進來的swf裡面的function 該讀進來的swf 名稱為Sample.mxml 裡面有一個函式是public function setText(str:String):void 做了什麼: 一開始先在SWFLoader 宣告的時候 creationComplete="init()" private function init():void { this.swfContent = this.swfLoader.content as SystemManager; } 然後寫按鈕A按下時觸發的函式: private function callFuncHandler():void { Sample(this.swfContent.application).setText("Hello World!!"); } =================以上是可以通過的正確版本=============================== 因為印象中 this.swfContent.application[元件名稱] 是可以找到對應的!! 也會compile過!! 想問一下以下方式問題會出現在哪呢!? (替換掉黃色那一行) this.swfContent.application[setText("aaa")] this.swfContent.application.setText("aaa") 謝謝!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.70.196.70
aquarianboy:附個完整的原始檔會比較容易懂 06/21 12:16
jugu:[setText('aaa')]抓到的是[setText的return值] 06/22 07:53
jugu:跟xxx.setText同義的是xxx['setText'] 06/22 07:54
aquarianboy:其實打包成一個壓縮檔會比貼程式碼來得清楚.. 06/22 14:54
//這是可以的!! //Sample_4_3_3_SWF(this.swfContent.application).swfLabel.text = "Hello World"; //Sample_4_3_3_SWF(this.swfContent.application).setText("Hello World"); 成功的原因在於有轉型 就像String(number) => String 3 "3" 才可以使用裡面的方法!! this.swfContent.application['setText']("Hello World"); 屬性可以直接被找到所以不用轉型 其實...果然是江湖一點訣.... 我本來以為Sample_4_3_3_SWF() 括號裡面是丟參數進去@@a 原來是轉型 ... 那就比較能理解了... 謝謝 ^____^ ※ 編輯: fatcats 來自: 219.70.196.70 (06/22 15:41)