2015-08-03 55 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