2013-07-10 59 views
0

我正在使用此示例的源代碼。 現在我想從swf發送字節數組到JavaScript。訪問位於時間線的.as類文件中的公共方法

我剛剛學會了如何使用ExternalInterface的以調用函數從JS < => AS3

一切正常來回。

但是我寫的所有AS3代碼都在flash文件的第一幀,而不是在.as類文件中。 (這個類擴展了MovieClip而不是Sprite)

測試後我想將它添加到.as類文件中以獲取數據。它不起作用。 是唯一的方法是將類中的所有內容都轉換爲靜態,以便我可以從外部訪問它? (框架中的AS3)

+0

你要訪問位於從timelime您。作爲類中的一些方法? – ZuzEL

+0

我想是從時間線上。 (我不熟悉這個術語)。我在第一幀時按了F9。這就是寫入訪問方法的代碼的地方。 – himura

+0

「從時間線」我的意思是從你的.fla項目中的任何一幀,而不是從.as類文件。 UPD:從你的更新中,我看到你從時間線上調用它的答案是「是」。 – ZuzEL

回答

1

您似乎無法訪問位於時間軸中單獨文件中的方法。

  1. 而是轉移(複製粘貼)的所有代碼,你必須在你的幀新 創建Main.as類。
  2. 選擇此類作爲您項目的基類。
  3. 確保您的導入位於{}範圍之外。

    package { 
    
        //imports 
        import flash.display.MovieClip; 
        import flash.display.Shape; 
    
        public class Main extends MovieClip 
        { 
         public function Main() 
         { 
          //code from frame excluding imports 
         } 
        } 
    } 
    
+0

謝謝,我認爲這將工作。我所做的是將.as文件中的代碼放到時間軸中,並且它也可以工作! – himura

+0

是的,它適用於雙方。但是儘量避免將代碼放在時間軸上。 – ZuzEL

相關問題