code_uisceneview.js 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. // some code from UISceneview2D sample program
  2. 'use strict';
  3. var utils = require("Scripts/utils");
  4. exports.init = function(mylayout,mylogger) {
  5. var msvw = mylayout.getWidget("UISceneViewDemo"); // get the container
  6. if (msvw !== null) {
  7. mylogger.setText( "UISceneView : already initialized");
  8. return; // already initialized.
  9. }
  10. // note : the UISceneView widget does not have a corresponding Turbobadger widget, its ALL Atomic.
  11. // so we have to build it in source code / scripting
  12. var mysceneview = new Atomic.UISceneView(); // make a scene...view
  13. mysceneview.id = "UISceneViewDemo"; // tag it, in case we want to get it again later
  14. if ( mysceneview !== null ) {
  15. var myscene = Atomic.player.loadScene("Scenes/sceneview.scene"); // creates a new scene, but doesn't load it to the player
  16. if ( myscene !== null ) {
  17. var mycamera = myscene.getComponents("Camera", true)[0]; // get camera from the scene
  18. mysceneview.setView(myscene, mycamera);
  19. mysceneview.autoUpdate = true;
  20. } else mylogger.setText( "UISceneView: Cant load Scenes/sceneview.scene");
  21. } else mylogger.setText( "UISceneView: Didnt create UISceneViewDemo widget");
  22. var lpx = new Atomic.UILayoutParams(); // size it just right
  23. lpx.width = 256;
  24. lpx.height = 256;
  25. lpx.minWidth = 256;
  26. lpx.minHeight = 256;
  27. lpx.maxWidth = 256;
  28. lpx.maxHeight = 256;
  29. mysceneview.layoutParams = lpx;
  30. var mysvc = mylayout.getWidget("sceneviewcontainer"); // get the container layout
  31. mysvc.addChild(mysceneview); // drop it in
  32. };