Browse Source

Editor: Added first version of Player.

Mr.doob 11 năm trước cách đây
mục cha
commit
40a3fec86e
3 tập tin đã thay đổi với 41 bổ sung0 xóa
  1. 2 0
      editor/index.html
  2. 8 0
      editor/js/Menubar.File.js
  3. 31 0
      editor/js/Player.js

+ 2 - 0
editor/index.html

@@ -43,6 +43,8 @@
 
 		<script src="js/Storage.js"></script>
 
+		<script src="js/Player.js"></script>
+
 		<script src="js/Editor.js"></script>
 		<script src="js/Config.js"></script>
 		<script src="js/Loader.js"></script>

+ 8 - 0
editor/js/Menubar.File.js

@@ -209,6 +209,14 @@ Menubar.File = function ( editor ) {
 	option.setTextContent( 'Publish' );
 	option.onClick( function () {
 
+		var preview = new Player( editor.scene.toJSON() );
+		preview.setSize( 800, 600 );
+		preview.update();
+
+		var popup = window.open( '', 'preview', 'width=800,height=600' );
+		popup.document.body.style.margin = 0;
+		popup.document.body.appendChild( preview.dom );
+
 	} );
 	options.add( option );
 

+ 31 - 0
editor/js/Player.js

@@ -0,0 +1,31 @@
+var Player = function ( json ) {
+
+	var camera = new THREE.PerspectiveCamera( 50, 1, 1, 1000 );
+	camera.position.set( 500, 250, 500 );
+	camera.lookAt( new THREE.Vector3() );
+
+	var scene = new THREE.ObjectLoader().parse( json );
+	var renderer = new THREE.WebGLRenderer( { antialias: true } );
+
+	var setSize = function ( width, height ) {
+
+		camera.aspect = width / height;
+		camera.updateProjectionMatrix();
+
+		renderer.setSize( width, height );
+
+	};
+
+	var update = function () {
+
+		renderer.render( scene, camera );
+
+	};
+
+	return {
+		dom: renderer.domElement,
+		setSize: setSize,
+		update: update 
+	}
+
+};