Skip to content

Use Physic on Scene

Radomiej edited this page Dec 9, 2016 · 6 revisions

Javity Physic based on Box2D. You can easy create physic GameObject and handle collision or trigger events. This is example scene:

public class Scene0Bulider implements SceneBulider {
	@Override
	public void buildScene(Scene scene) {
		JGameObject ground = scene.instantiateGameObject(new Vector2(250, 0));
		ground.addComponent(new SpriteRenderer("badlogic.jpg"));
		ground.addComponent(new Rigidbody(true));
		ground.addComponent(new RectangleCollider(1000000, 10));
		ground.getTransform().setScale(new Vector2(1, 0.1f));

		JGameObject logo = scene.instantiateGameObject(new Vector2(100, 200));
		logo.addComponent(new SpriteRenderer("resources/atlas/images.atlas#babel"));
		logo.addComponent(new Rigidbody());
		logo.addComponent(new RectangleCollider());
		logo.addComponent(new ChangeScene());

		JGameObject logo3 = scene.instantiateGameObject(new Vector2(50, 250));
		logo3.addComponent(new SpineRenderer("resources/animations/skeleton.json#arrow"));
		logo3.addComponent(new Rigidbody());
		logo3.addComponent(new RectangleCollider());
		logo3.addComponent(new TransformTest());
		logo3.addComponent(new Camera());

		JGameObject logo2 = scene.instantiateGameObject(new Vector2(250, 100));
		logo2.addComponent(new SpriteRenderer("badlogic.jpg"));
		logo2.addComponent(new Rigidbody(true));
		logo2.addComponent(new RectangleCollider());
		MyComponent myComponent = new MyComponent();
		// myComponent.parent = logo;
		logo2.addComponent(myComponent);
		logo2.getTransform().setParent(logo3);

	}
}

When you create Physic GameObject you must add:

  • Rigidbody component
  • any Collider component like RectangleCollider/CircleCollider(not avaiable yet)/PolygonCollider(not avaiable yet).

Clone this wiki locally