box2d(andengine gles2)PhysicsConnector语法错误

时间:2012-12-07 12:16:56

标签: android box2d andengine physics

我已经将重力应用在我的球身上,这是一个动态的身体。当它到达屏幕底部时,它会离开屏幕。我想要为我的物理世界划定界限。

我分别创造了4条线和4条线体。但是当我尝试注册物理连接器时,它适用于我的盒体和精灵,但不适用于我的线体:(

Line line_top = new Line(0, 0, CAMERA_WIDTH, 0, this.getVertexBufferObjectManager());
    Line line_left = new Line(0, 0, 0, CAMERA_HEIGHT, this.getVertexBufferObjectManager());
    Line line_right = new Line(CAMERA_WIDTH, 0, CAMERA_WIDTH, CAMERA_HEIGHT, this.getVertexBufferObjectManager());
    Line line_bottom = new Line(0, CAMERA_HEIGHT, CAMERA_WIDTH, CAMERA_HEIGHT, this.getVertexBufferObjectManager());
    line_top.setColor(1, 1, 1); // RGB
    line_left.setColor(1, 1, 1);
    line_right.setColor(1, 1, 1);
    line_bottom.setColor(1, 1, 1);

    Body wall_top = PhysicsFactory.createLineBody(mPhysicsWorld, line_top, FIXTURE_DEF);
    Body wall_left = PhysicsFactory.createLineBody(mPhysicsWorld, line_left, FIXTURE_DEF);
    Body wall_right = PhysicsFactory.createLineBody(mPhysicsWorld, line_right, FIXTURE_DEF);
    Body wall_bottom = PhysicsFactory.createLineBody(mPhysicsWorld, line_bottom, FIXTURE_DEF);

这对我来说很好

mPhysicsWorld.registerPhysicsConnector(new PhysicsConnector(playButtonSprite, BoxBody2, true, true));

但是当我把我的行作为参数传递时

mPhysicsWorld.registerPhysicsConnector(new PhysicsConnector(line_top, BoxBody, true, true));

显示此错误

The constructor PhysicsConnector(Line, Body, boolean, boolean) is undefined

1 个答案:

答案 0 :(得分:2)

我的游戏中有类似的东西(屏幕边界作为物理对象)。显然,我也有这个问题,PhysicsConnector不接受Line - 所以我使用Rectangle代替。您可以创建宽度为1的矩形,例如,line_top的等效矩形将为:

Rectangle rect_top = new Rectangle(0, 0, CAMERA_WIDTH, 1);