[問題] SWFLoader裡面的swf的method
目的:
在主檔案裡面想要呼叫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
→
06/21 12:16, , 1F
06/21 12:16, 1F
→
06/22 07:53, , 2F
06/22 07:53, 2F
→
06/22 07:54, , 3F
06/22 07:54, 3F
→
06/22 14:54, , 4F
06/22 14:54, 4F
//這是可以的!!
//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)