AS3显示列表和box2d
问题描述:
我有一个名为“砖”在一个叫做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
中初始化砖块图像,我会看到砖块图像,只是简单地从实例化砖块类的实例中轻松添加Brick类的实例,而不是将该对象添加到某个容器中。 – null
'我有一个从Main文档类延伸出来的砖类'为什么要扩展你的文档类? – DodgerThud
对不起,这是一个错字,它是Sprite类的延伸 – Adeel
没有足够的信息给出。 – BotMaster