2014-06-07 20 views
0

我一直在這工作了一個小時,我不能得到它。我試圖在一個類的主時間軸上添加一個對象到容器上。每當我試圖做到這一點,它可以讓我運行遊戲,但會給我一個輸出誤差:添加到類的主要容器

ReferenceError: Error #1069: Property container not found on flash.display.Stage and there is no default value. 

這裏是我的主要代碼:

var dotContainer:MovieClip = new MovieClip; 
stage.addChild(dotContainer); 

這裏是代碼我的分類:

package { 
    public class dotMaker extends MovieClip 
    { 
     var dot:MovieClip = new Dot; 
     Object(root).dotContainer.addChild(dot); 
    } 
} 

任何幫助,非常感謝!

+0

您的'dotContainer'代碼是否在時間軸上? –

+0

是的,它是@RajneeshGaikwad – Lukaspukas

回答

0

由於您使用的是課程,因此它不知道您已添加到舞臺上。所以,你應該使用name財產,並得到它就像:

var dotContainer:MovieClip = new MovieClip; 
dotContainer.name = 'dotContainer'; 
stage.addChild(dotContainer); 


package { 
    public class dotMaker extends MovieClip 
    { 
     var dot:MovieClip = new Dot; 
     (Object(root).getChildByName('dotContainer') as DisplayObjectContainer).addChild(dot); 
    } 
} 

你應該知道,這樣的事情並不很不錯的事情。最好像這樣使用它:

public class dotMaker extends MovieClip { 
    var _container:DisplayObjectContainer; 

    public function dotMaker(container:DisplayObjectContainer) { 
     _container = container; 
     _container.addChild(new Dot()); 
    } 
} 

因此,將容器傳遞給此類,以便它可以使用它。 另一個奇怪的是你不使用構造函數?

+0

謝謝!我忘了把這個構造函數放在這個問題上 – Lukaspukas

相關問題