-
Notifications
You must be signed in to change notification settings - Fork 0
Simple GUI Scene(deprecated)
Radomiej edited this page Nov 24, 2016
·
1 revision
In this example is show GUI scene:
public class SceneLoginBulider implements SceneBulider {
@Override
public Scene getScene() {
Scene scene = new CustomScene();
JGameObject canvas = scene.instantiateGameObject(new Vector2(0, 0));
JCanvas jCanvas = new JCanvas();
jCanvas.setSkinPath("internal/ui/uiskin.json");
canvas.addComponent(jCanvas);
JGameObject labelInfo = scene.instantiateGameObject(new Vector2(175, 450));
JLabel jLabel = new JLabel();
jLabel.setText("Login");
labelInfo.addComponent(jLabel);
JGameObject labelNick = scene.instantiateGameObject(new Vector2(100, 350));
jLabel = new JLabel();
jLabel.setText("Nick/email:");
labelNick.addComponent(jLabel);
JGameObject labelPassword = scene.instantiateGameObject(new Vector2(100, 300));
jLabel = new JLabel();
jLabel.setText("Password:");
labelPassword.addComponent(jLabel);
JGameObject buttonLogin = scene.instantiateGameObject(new Vector2(300, 200));
buttonLogin.getTransform().setParent(canvas);
JTextButton jButton = new JTextButton();
jButton.setClickTarget(buttonLogin);
jButton.clickInvoke = new RemoteInvoker(JTextButton.class, "setText", "Logging...");
jButton.useSkin = true;
jButton.text = "Login";
buttonLogin.addComponent(jButton);
JGameObject buttonBack = scene.instantiateGameObject(new Vector2(200, 200));
buttonBack.getTransform().setParent(canvas);
jButton = new JTextButton();
jButton.setClickTarget(buttonLogin);
jButton.clickInvoke = new RemoteInvoker(JTextButton.class, "setText", "Backing...");
jButton.useSkin = true;
jButton.text = "Back";
buttonBack.addComponent(jButton);
JGameObject textFieldNick = scene.instantiateGameObject(new Vector2(270, 350));
textFieldNick.getTransform().setParent(canvas);
JTextField jTextField = new JTextField();
jTextField.fontColor = Color.BLUE;
textFieldNick.addComponent(jTextField);
JGameObject textFieldPassword = scene.instantiateGameObject(new Vector2(270, 300));
textFieldPassword.getTransform().setParent(canvas);
jTextField = new JTextField();
jTextField.fontColor = Color.BLUE;
textFieldPassword.addComponent(jTextField);
return scene;
}
}In first you must create GameObject with Canvas component, and set skin path:
JGameObject canvas = scene.instantiateGameObject(new Vector2(0, 0));
JCanvas jCanvas = new JCanvas();
jCanvas.setSkinPath("internal/ui/uiskin.json");
canvas.addComponent(jCanvas);On them you can put diffrent GUI object like buttons, labels etc.
Label:
JGameObject labelInfo = scene.instantiateGameObject(new Vector2(175, 450));
JLabel jLabel = new JLabel();
jLabel.setText("Login");
labelInfo.addComponent(jLabel);TextButton:
JGameObject buttonLogin = scene.instantiateGameObject(new Vector2(300, 200));
buttonLogin.getTransform().setParent(canvas);
JTextButton jButton = new JTextButton();
jButton.setClickTarget(buttonLogin);
jButton.clickInvoke = new RemoteInvoker(JTextButton.class, "setText", "Logging...");
jButton.useSkin = true;
jButton.text = "Login";
buttonLogin.addComponent(jButton);TextField:
JGameObject textFieldNick = scene.instantiateGameObject(new Vector2(270, 350));
textFieldNick.getTransform().setParent(canvas);
JTextField jTextField = new JTextField();
jTextField.fontColor = Color.BLUE;
textFieldNick.addComponent(jTextField);