tutorial how español libgdx box2d

libgdx - how - ¿Cómo hago para que Box2D se ajuste al mundo?



how to use libgdx (2)

Podría ser posible usar un operador de mod en sus posiciones xey. La idea es que podrías modificar cualquier posición x y posición y con el valor de píxel de tu cuadro. De esa manera, cuando su valor x = maxWidth, se convierte en cero, y lo mismo para el valor y.

Quiero hacer un efecto envolvente en el que un objeto salga de la pantalla desde el eje x por un lado y vuelva a aparecer en una nueva posición del eje y en el otro lado de la pantalla. El ancho es de 250 píxeles, por lo que básicamente pasaría (0, y1) y reaparecería en (300, y2).

a.applyForceToCenter(aMovement, true); a.applyTorque(3000, true); FixtureDef fDef = new FixtureDef(); BodyDef ballD = new BodyDef(); ballD.type = BodyType.DynamicBody; //random location for asteroid int aLoc = (int) (aLocation * 15); float x = 300; switch(aLoc) { case 0: ballD.position.set(x, -105); break; case 1: ballD.position.set(x, -95); break; case 2: ballD.position.set(x, -80); break; case 3: ballD.position.set(x, -65); break; case 4: ballD.position.set(x, -50); break; case 5: ballD.position.set(x, -35); break; case 6: ballD.position.set(x, -20); break; case 7: ballD.position.set(x, -5); break; case 8: ballD.position.set(x, 10); break; case 9: ballD.position.set(x, 25); break; case 10: ballD.position.set(x, 40); break; case 11: ballD.position.set(x, 55); break; case 12: ballD.position.set(x, 70); break; case 13: ballD.position.set(x, 85); break; default: ballD.position.set(x, 0); } PolygonShape asteroid = new PolygonShape(); asteroid.setAsBox(12.5f, 12.5f); //asteroid definition fDef.shape = asteroid; fDef.density = .5f; fDef.friction = .25f; fDef.restitution = .75f; a = world.createBody(ballD); a.createFixture(fDef); a.setFixedRotation(false); //asteroid image aSprite = new Sprite(new Texture("img/asteroid-icon.png")); aSprite.setSize(12.5f * 4, 12.5f * 4); aSprite.setOrigin(aSprite.getWidth() / 2, aSprite.getHeight() / 2); a.setUserData(aSprite); asteroid.dispose();


Podría usar el método setTransform () en la bola si deja la pantalla en un lado. Básicamente, después de cada paso de simulación verificaría si la bola se ha movido hacia afuera en un lado, luego configureTransform () con la nueva posición y rotación.