Skip to content

Run First Scene

Radomiej edited this page Aug 15, 2016 · 12 revisions
  1. Before start you must setup in all platforms run scene. Example for Desktop it look this:
import org.javity.engine.ext.JavityApplication;

import com.badlogic.gdx.backends.lwjgl.LwjglApplication;
import com.badlogic.gdx.backends.lwjgl.LwjglApplicationConfiguration;
import com.badlogic.gdx.backends.lwjgl.LwjglGraphics;

import pl.radomiej.test.Scene0Bulider;

public class DesktopLauncher {
	public static void main (String[] arg) {
		LwjglApplicationConfiguration config = new LwjglApplicationConfiguration();
		new LwjglApplication(new JavityApplication(new Scene0Bulider()), config);
	}
}
  1. Create SceneBulider in core project which allow you to create prefabs object and instantiate them on the scene:
package pl.radomiej.test;

import org.javity.components.Camera;
import org.javity.components.RectangleCollider;
import org.javity.components.Rigidbody;
import org.javity.components.SpineRenderer;
import org.javity.components.SpriteRenderer;
import org.javity.engine.CustomScene;
import org.javity.engine.JGameObject;
import org.javity.engine.JGameObjectImpl;
import org.javity.engine.Scene;
import org.javity.engine.SceneBulider;
import org.javity.engine.JSceneManager;

import com.badlogic.gdx.math.Vector2;

public class Scene0Bulider implements SceneBulider {
	@Override
	public Scene getScene() {
		Scene scene = new CustomScene();

		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(1000, 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);

		return scene;
	}
}

This above code is empty scene builder, you must create scene object:

public class Scene0Bulider implements SceneBulider {
	@Override
	public Scene getScene() {
		Scene scene = new CustomScene();
                return scene;
	}
}

This is example of object creating:

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());

Go to Basic Concepts for more details.

Clone this wiki locally