Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
- package com;
- import com.jme3.app.SimpleApplication;
- import com.jme3.light.AmbientLight;
- import com.jme3.math.Vector3f;
- import com.jme3.niftygui.NiftyJmeDisplay;
- import com.jme3.scene.Spatial;
- import de.lessvoid.nifty.Nifty;
- import de.lessvoid.nifty.elements.Element;
- import de.lessvoid.nifty.screen.Screen;
- import de.lessvoid.nifty.screen.ScreenController;
- import de.lessvoid.nifty.tools.SizeValue;
- /**
- * @author Kyle Williams
- */
- public class GUIPosition extends SimpleApplication implements ScreenController{
- private Nifty nifty;
- private Screen screen;
- private Spatial model;
- private AmbientLight al;
- private Element mainPanel;
- private Vector3f screenCoordinates = new Vector3f();
- @Override
- public void simpleInitApp() {
- setUpNifty();
- this.getFlyByCamera().setMoveSpeed(30f);
- al = new AmbientLight();
- getRootNode().addLight(al);
- model = getAssetManager().loadModel("Models/Alex/Alex.j3o");
- getRootNode().attachChild(model);
- }
- @Override
- public void simpleUpdate(float tpf) {
- if(screenCoordinates.length()!=0)screenCoordinates.zero();
- getCamera().getScreenCoordinates(model.getWorldTranslation(), screenCoordinates);
- SizeValue x = new SizeValue(screenCoordinates.getX()+"%");
- SizeValue y = new SizeValue(screenCoordinates.getY()+"%");
- SizeValue height = new SizeValue("5%");
- SizeValue width = new SizeValue("5%");
- updatePosition(x, y, height, width);
- }
- public void updatePosition(SizeValue newX,SizeValue newY,SizeValue newHeight,SizeValue newWidth){
- mainPanel.setConstraintHeight(newHeight);
- mainPanel.setConstraintWidth(newWidth);
- mainPanel.setConstraintX(newX);
- mainPanel.setConstraintY(newY);
- screen.layoutLayers();
- }
- protected void setUpNifty(){
- NiftyJmeDisplay niftyDisplay = new NiftyJmeDisplay(assetManager,
- inputManager,
- audioRenderer,
- guiViewPort);
- this.nifty = niftyDisplay.getNifty();
- nifty.fromXml("Interface/EssenceInterface/EssenceInterface2.xml", "start");
- this.screen=nifty.getScreen("start");
- this.mainPanel=screen.findElementByName("mainPanel");
- // attach the nifty display to the gui view port as a processor
- guiViewPort.addProcessor(niftyDisplay);
- }
- @Override
- public void bind(Nifty nifty, Screen screen) { }
- @Override
- public void onStartScreen() {}
- @Override
- public void onEndScreen() {}
- public static void main(String[] args){GUIPosition app = new GUIPosition();app.start();}
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement