我正在編寫一個教育軟件,它利用單個「應用程序」swf加載外部「主題」swf文件(包含特定於該主題的庫項目) 。這些外部「主題」swf文件中的每一個還使用自定義類來解決特定於該主題的計算(例如trigonometry.swf主題文件的三角類)。actionscript 3.0從加載的swf的自定義類中引用主swf的自定義類
我希望trigonometry.swf的三角類能夠引用存在於主「應用程序」swf中的自定義類方法。如果有助於瞭解上下文,我希望使用三角函數的用戶能夠輸入相信是正確的三角函數(sin,cos或tan)和「檢查」以查看它們是否正確。 「indication_right_wrong」方法存在於主「應用程序」swf的「grader」自定義類中(以便我對此類所做的任何更改都將在所有主題中更新)。所以...我如何從外部加載的swf文件的自定義類中引用主swf的自定義類方法?
當我將「grader」自定義類導入每個「主題」swf並直接引用它時,我確實有工作結果,但是如果我進行更改,我不想重新發布每個主題swf到「分級」習俗班。因此,我試圖讓每個主題能夠引用「grader」自定義類,當它存在於主「應用程序」swf中時。
我嘗試使用parent.parent的變體時得到的錯誤是property grader_class not found on flash.display.Stage
(對於父級)和Cannot access a property or method of a null object reference.
(當使用parent.parent時)。
感謝您提供任何幫助。
您應該能夠通過ApplicationDomain中的[getDefinition方法()來訪問父類(http://help.adobe.com/en_US/FlashPlatform/reference/actionscript /3/flash/system/ApplicationDomain.html#getDefinition())方法。類似於:'yourMasterSWFReference.loaderInfo.applicationDomain.getDefinition(「the.qualified.ClassYouNeed」)'。另一個選項,也許更清潔是你的加載的SWF調度一個事件或一個信號與檢查/測試所需的數據和主瑞士法郎監聽,並在處理程序處理請求和調度結果。 –