Skip to content

Run First Scene

Radomiej edited this page Apr 28, 2016 · 12 revisions
  1. Before start you must setup in all platforms run scene. Example for Desktop this 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:
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.GameObject;
import org.javity.engine.Prefabs;
import org.javity.engine.Scene;
import org.javity.engine.SceneBulider;
import org.javity.engine.SceneManager;

import com.badlogic.gdx.math.Vector2;

public class Scene0Bulider implements SceneBulider{
	@Override
	public String getSceneJson() {
		GameObject ground = Prefabs.createGameObject();
		Prefabs.addComponent(ground, new SpriteRenderer("badlogic.jpg"));
		Prefabs.addComponent(ground, new Rigidbody(true));
		Prefabs.addComponent(ground, new RectangleCollider(1000000, 10));
		ground.getTransform().setScale(new Vector2(1000, 0.1f));;
		
		GameObject logo = Prefabs.createGameObject();
		Prefabs.addComponent(logo, new SpriteRenderer("resources/atlas/images.atlas#babel"));
		Prefabs.addComponent(logo, new Rigidbody());
		Prefabs.addComponent(logo, new RectangleCollider());
		Prefabs.addComponent(logo, new Camera());
		
		GameObject logo3 = Prefabs.createGameObject();
		Prefabs.addComponent(logo3, new SpineRenderer("resources/animations/skeleton.json"));
		Prefabs.addComponent(logo3, new Rigidbody());
		Prefabs.addComponent(logo3, new RectangleCollider());
		Prefabs.addComponent(logo3, new Camera());
		
		GameObject logo2 = Prefabs.createGameObject();
		Prefabs.addComponent(logo2, new SpriteRenderer("badlogic.jpg"));
		Prefabs.addComponent(logo2, new Rigidbody());
		Prefabs.addComponent(logo2, new RectangleCollider());
		MyComponent myComponent = new MyComponent();
//		myComponent.parent = logo;
		Prefabs.addComponent(logo2, myComponent);
		
		
//		GameObject logoJson = Prefabs.createGameObjectFromResource("resources/prefabs/logo.prefab");
		
		Scene scene = new CustomScene();
		scene.instantiateGameObject(logo, new Vector2(100, 400));
		scene.instantiateGameObject(logo2, new Vector2(250, 300));
		scene.instantiateGameObject(logo3, new Vector2(50, 500));
		scene.instantiateGameObject(ground, new Vector2(250, 0));
		
		String sceneJson = SceneManager.saveToJson(scene);
		System.out.println(sceneJson);
		return sceneJson;
	}
}

Clone this wiki locally