2010-06-15 19 views
0

我一直在試圖將一個movieclip添加到我的.fla文件中。在類方法中添加MovieClip

我的主要的FLA文件:main.fla ActionScript文件:script.as

他們留在同一個目錄

script.as文件,如下所示:

package { 
import flash.display.* 

public class MyClass extends MovieClip 
{ 
    public var target:MovieClip; 

    public function MyClass() 
    { 
     init(); 

    } 

    public function init() //if this method will be runed only inside class it should be private not public 
    { 
     trace('created'); 

    } 
    public function create() 
    { 
     target = new myfan(); 
     target.x = 400; 
     target.y = 50; 
     stage.addChild(target); 


    } 
} 

}

我用創建函數來創建main.fla文件中添加影片剪輯。

var trying:MyClass = new MyClass(); 
trying.create(); 

輸出給「創建」,但我不知道輸出的SWF文件中的「myfan」movieclip。

我一直在搜索整天,但找不到太多。

如何從類文件添加動畫片段?

感謝您的善意幫助。

回答

2

我對你如何將腳本附加到swf中有點困惑。 AS3中的類必須位於與類名稱完全相同的文件中 - 因此您的文件應該命名爲MyClass.as作爲第一個點。

第二個問題究竟是myfan究竟是什麼?它在你的圖書館中是一個符號嗎?那個符號包含什麼?如果將該符號拖放到舞臺上而不是嘗試使用ActionScript實例化會發生什麼?

最後,如果你正在實例MyClass你在做什麼?在時間軸內的電影的第一幀?我注意到,您沒有隨時將變量trying添加到顯示列表中......這意味着變量stage可能爲空。嘗試添加:

public function create() 
{ 
    target = new myfan(); 
    target.x = 400; 
    target.y = 50; 
    trace("Stage here?:", stage); 
    stage.addChild(target); 
} 

要查看您是否收到任何內容。

+0

謝謝詹姆斯,我弄明白了。 問題是,如你所說,階段是空的。爲了解決這個問題,你必須添加varible來顯示列表: var trying:MyClass = new MyClass(); this.addChild(試試); trying.create(); 之後,您可以在類中添加movieClip。 – isa 2010-06-21 07:54:40

相關問題