Advertisement
Guest User

Untitled

a guest
Jul 21st, 2017
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.93 KB | None | 0 0
  1. /*
  2.  * To change this template, choose Tools | Templates
  3.  * and open the template in the editor.
  4.  */
  5.  
  6. package com;
  7.  
  8. import com.jme3.app.SimpleApplication;
  9. import com.jme3.light.AmbientLight;
  10. import com.jme3.math.Vector3f;
  11. import com.jme3.niftygui.NiftyJmeDisplay;
  12. import com.jme3.scene.Spatial;
  13. import de.lessvoid.nifty.Nifty;
  14. import de.lessvoid.nifty.elements.Element;
  15. import de.lessvoid.nifty.screen.Screen;
  16. import de.lessvoid.nifty.screen.ScreenController;
  17. import de.lessvoid.nifty.tools.SizeValue;
  18.  
  19. /**
  20.  * @author Kyle Williams
  21.  */
  22. public class GUIPosition extends SimpleApplication implements ScreenController{    
  23.     private Nifty nifty;
  24.     private Screen screen;
  25.     private Spatial model;
  26.     private AmbientLight al;
  27.     private Element mainPanel;
  28.     private Vector3f screenCoordinates = new Vector3f();
  29.  
  30.     @Override
  31.     public void simpleInitApp() {
  32.         setUpNifty();
  33.         this.getFlyByCamera().setMoveSpeed(30f);
  34.         al = new AmbientLight();
  35.         getRootNode().addLight(al);
  36.         model = getAssetManager().loadModel("Models/Alex/Alex.j3o");
  37.         getRootNode().attachChild(model);
  38.     }        
  39.  
  40.  
  41.  
  42.     @Override
  43.     public void simpleUpdate(float tpf) {        
  44.             if(screenCoordinates.length()!=0)screenCoordinates.zero();
  45.             getCamera().getScreenCoordinates(model.getWorldTranslation(), screenCoordinates);
  46.             SizeValue x = new SizeValue(screenCoordinates.getX()+"%");
  47.             SizeValue y = new SizeValue(screenCoordinates.getY()+"%");
  48.             SizeValue height = new SizeValue("5%");
  49.             SizeValue width = new SizeValue("5%");
  50.             updatePosition(x, y, height, width);
  51.     }
  52.  
  53.     public void updatePosition(SizeValue newX,SizeValue newY,SizeValue newHeight,SizeValue newWidth){
  54.         mainPanel.setConstraintHeight(newHeight);
  55.         mainPanel.setConstraintWidth(newWidth);
  56.         mainPanel.setConstraintX(newX);
  57.         mainPanel.setConstraintY(newY);
  58.         screen.layoutLayers();
  59.     }
  60.  
  61.      protected void setUpNifty(){
  62.         NiftyJmeDisplay niftyDisplay = new NiftyJmeDisplay(assetManager,
  63.                                                       inputManager,
  64.                                                       audioRenderer,
  65.                                                       guiViewPort);
  66.         this.nifty = niftyDisplay.getNifty();
  67.  
  68.         nifty.fromXml("Interface/EssenceInterface/EssenceInterface2.xml", "start");
  69.         this.screen=nifty.getScreen("start");
  70.         this.mainPanel=screen.findElementByName("mainPanel");
  71.  
  72.         // attach the nifty display to the gui view port as a processor
  73.         guiViewPort.addProcessor(niftyDisplay);
  74.     }
  75.  
  76.     @Override
  77.     public void bind(Nifty nifty, Screen screen) { }
  78.     @Override
  79.     public void onStartScreen() {}
  80.     @Override
  81.     public void onEndScreen() {}
  82.  
  83.     public static void main(String[] args){GUIPosition app = new GUIPosition();app.start();}
  84. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement