我已经将重力应用在我的球身上,这是一个动态的身体。当它到达屏幕底部时,它会离开屏幕。我想要为我的物理世界划定界限。
我分别创造了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
答案 0 :(得分:2)
我的游戏中有类似的东西(屏幕边界作为物理对象)。显然,我也有这个问题,PhysicsConnector
不接受Line
- 所以我使用Rectangle
代替。您可以创建宽度为1的矩形,例如,line_top
的等效矩形将为:
Rectangle rect_top = new Rectangle(0, 0, CAMERA_WIDTH, 1);