0
저는 LibGDX와 Box2D로 몇 개의 브레이크 아웃 게임을 코딩하려고합니다. 그러나 내가 이해하지 못하는 한 가지 점이있다. 가장자리가있는 두 개의 벽돌 만 만져야합니다. 하지만 에뮬레이터에서 방금 두 개의 벽돌을 중첩시켜 보았습니다.LibGDX + Box2D : Object Positioning
private void createBox(float posX, float posY, float boxW, float boxH) {
BodyDef bodyDef = new BodyDef();
bodyDef.type = BodyDef.BodyType.StaticBody;
bodyDef.position.set(posX, posY);
Body body = world.createBody(bodyDef);
PolygonShape shape = new PolygonShape();
shape.setAsBox(boxW, boxH);
FixtureDef fixtureDef = new FixtureDef();
fixtureDef.shape = shape;
fixtureDef.density = 1f;
Fixture fixture = body.createFixture(fixtureDef);
shape.dispose();
}
편집 : 그 곱한 코드 여기
가에서는 createBox 방법의 코드입니다.createBox(CONS_HOLDER.BRICKS_LEFT_MARGIN + (i * CONS_HOLDER.BRICK_WIDTH * 2),
CONS_HOLDER.BRICK_TOP_SCREEN_MARGIN + (j * CONS_HOLDER.BRICK_HEIGHT * 2) + CONS_HOLDER.BRICKS_TOP_MARGIN,
CONS_HOLDER.BRICK_WIDTH/2,
CONS_HOLDER.BRICK_HEIGHT/2);
감사 회신, 괜찮아. 하지만 왜이 논리를 이해할 수 없습니까? 2 상자의 x와 y 좌표를 곱하면 긍정적 인 결과를 얻습니다. 상자의 높이와 너비를 나눌 때, 나는 내가 만든 모든 논리를 바꿔야합니다. – Utku
그건 바로 Box2D가 설정된 방식입니다. 상자의 너비와 높이는 여전히 지정되지만 매개 변수는 원하는 크기의 절반입니다. – waffre
정말 고마워요. – Utku