При столкновении с другим телом ball либо останавливается, либо двигается вдоль него. Вроде как это может происходить из-за неправильного world scale, но не знаю, как его поменять. Ниже методы создания тел:
private Body createBat(){
Body bat;
BodyDef batBodyDef = new BodyDef();
batBodyDef.type = BodyDef.BodyType.KinematicBody;
batBodyDef.fixedRotation = true;
batBodyDef.position.set(0,-HEIGHT/2+HEIGHT/8);
bat = world.createBody(batBodyDef);
PolygonShape polygonShape = new PolygonShape();
polygonShape.setAsBox(50,10);
FixtureDef fixtureDef = new FixtureDef();
fixtureDef.density = 1f;
fixtureDef.restitution = 1f;
fixtureDef.friction = 0;
fixtureDef.shape = polygonShape;
bat.createFixture(fixtureDef);
polygonShape.dispose();
bat.setActive(true);
return bat;
}
private void createBounds(){
Body leftBound;
Body rightBound;
Body upperBound;
BodyDef boundBodyDef = new BodyDef();
boundBodyDef.type = BodyDef.BodyType.StaticBody;
boundBodyDef.position.set(-WIDTH/2,0);
leftBound = world.createBody(boundBodyDef);
boundBodyDef.position.set(WIDTH/2,0);
rightBound = world.createBody(boundBodyDef);
boundBodyDef.position.set(0,HEIGHT/2);
upperBound = world.createBody(boundBodyDef);
PolygonShape polygonShape = new PolygonShape();
polygonShape.setAsBox(2,HEIGHT);
FixtureDef fixtureDef = new FixtureDef();
fixtureDef.restitution = 1;
fixtureDef.density = 1;
fixtureDef.shape = polygonShape;
leftBound.createFixture(fixtureDef);
rightBound.createFixture(fixtureDef);
polygonShape.setAsBox(WIDTH,2);
fixtureDef.shape = polygonShape;
upperBound.createFixture(fixtureDef);
polygonShape.dispose();
}
private void createBall(float x,float y){
Body ball;
BodyDef ballBodyDef = new BodyDef();
ballBodyDef.type = BodyDef.BodyType.DynamicBody;
ballBodyDef.position.set(x,y);
ballBodyDef.linearDamping = 0;
ballBodyDef.angularDamping = 0;
ball = world.createBody(ballBodyDef);
CircleShape circleShape = new CircleShape();
circleShape.setRadius(10f);
FixtureDef fixtureDef = new FixtureDef();
fixtureDef.restitution = 1;
fixtureDef.density = 1f;
fixtureDef.shape = circleShape;
fixtureDef.friction = 0.5f;
ball.createFixture(fixtureDef);
circleShape.dispose();
ball.setActive(true);
ballList.add(ball);
}
Проблема была в неверном timestep, там была пропущена f после значения. Также я уменьшил масштаб тел, не знаю точно, повлияло ли это тоже.
Пытаюсь получить строковую переменную из "TextField" и передать ее в создаваемый файл MS Word
Пробую делать мини приложение, что-то типа доски объявленийНи как не получается у меня сделать поиск по фильтру
Есть объекты enum, надо их поместить в коллекциюКак это сделать?