jBox2D Circle最终会在水平或垂直方向上移动
|
我试图在4墙之间实现一个圆跳动。但是,该圆的初始速度矢量无关紧要,过了一段时间,它总是最终水平或垂直移动。这是正常行为吗?如果没有,我该如何解决?
谢谢你的回复。
墙:
BodyDef bd = new BodyDef();
Body body = w.createBody(bd);
PolygonDef sd = new PolygonDef();
sd.density = 0.0f;
sd.friction = 0.01f;
sd.restitution = 1f;
sd.setAsBox(250, 10f, new Vec2(250, 1), 0);
body.createShape(sd);
sd.setAsBox(250, 10f, new Vec2(250, 499), 0.0f);
body.createShape(sd);
sd.setAsBox(250, 10f, new Vec2(1, 250), (float) (Math.PI / 2));
body.createShape(sd);
sd.setAsBox(250, 10f, new Vec2(499, 250), (float) (Math.PI / 2));
body.createShape(sd);
//圆圈:
BodyDef bd = new BodyDef();
bd.position.set((float) (Math.random() * 400 + 50), (float) (Math.random() * 400 + 50));
//bd.isBullet = true;
Body body = w.createBody(bd);
Vec2 v = new Vec2((float) (Math.random() * 20 - 10), (float) (Math.random() * 20 - 10));
System.out.println(body + \" \" + v);
body.setLinearVelocity(v);
body.setAngularVelocity(0.1f);
CircleDef sd = new CircleDef();
sd.radius = (float) (Math.random() * 40 + 5);
sd.density = 15.0f;
sd.restitution = 0.8f;
body.createShape(sd);
body.setMassFromShapes();
没有找到相关结果
已邀请:
1 个回复
缉康怪