2015-08-03 53 views
0

我有一個名爲「磚」在一個叫做createBrick的函數,它從sprite類擴展而來,我也有一個爲運行時共享導出的名爲「Brick」的庫中創建的影片剪輯。由於某些奇怪的原因,當我運行代碼時,即使在調試代碼時確實創建了磚塊,它仍未顯示在舞臺上。AS3顯示列表和box2d

這裏是功能

 public class createBrick extends Sprite { 

     public function createBrick(_main:Main) { 
        main = _main; 
        var go:Brick = new Brick(); 
        addChild(go); 
        trace(go.x); 
        brick(475, 235, 30, 30); 
     } 

    private function brick(pX: int, pY: int, w: Number, h: Number): void { 

       var bric:Brick = new Brick(); 
       addChild(bric); 
       bric.x = pX; 
       bric.y = pY; 
       bric.width = w; 
       bric.height = h; 

       var polygonShape: b2PolygonShape = new b2PolygonShape(); 
       var polygonFixture: b2FixtureDef = new b2FixtureDef(); 
       polygonShape.SetAsBox(w/2/worldScale, h/2/worldScale); 
       polygonFixture.shape = polygonShape; 
       polygonFixture.density = .2; 
       polygonFixture.restitution = 0.9; 
       polygonFixture.friction = 0.9; 
       var brickbodyDef: b2BodyDef = new b2BodyDef(); 
       brickbodyDef.type=b2Body.b2_dynamicBody; 
       brickbodyDef.userData = bric; 
       brickbodyDef.position.Set(bric.x/worldScale, bric.y/worldScale); 
       var theBrick: b2Body = world.CreateBody(brickbodyDef); 
       theBrick.CreateFixture(polygonFixture); 
       } 
     } 

同樣的功能完美地工作,如果我有所有的代碼在主文檔類和我看到舞臺上的一塊磚。任何線索我是否沒有正確引用它?

+0

'我有一個從Main文檔類延伸出來的磚類'爲什麼要擴展你的文檔類? – DodgerThud

+0

對不起,這是一個錯字,它是Sprite類的延伸 – Adeel

+0

沒有足夠的信息給出。 – BotMaster

回答

0

我想通了,只是不得不從主文檔類通過階段引用來顯示精靈。

+0

中初始化磚塊圖像,我會看到磚塊圖像,只是簡單地從實例化磚塊類的實例中輕鬆添加Brick類的實例,而不是將該對象添加到某個容器中。 – null