-
Notifications
You must be signed in to change notification settings - Fork 0
Run First Scene
Radomiej edited this page Apr 28, 2016
·
12 revisions
- 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);
}
}- 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;
}
}