|
@@ -12,87 +12,18 @@ var Player = function ( editor ) {
|
|
|
|
|
|
//
|
|
//
|
|
|
|
|
|
- var camera, scene, renderer;
|
|
|
|
- var scripts;
|
|
|
|
-
|
|
|
|
- //
|
|
|
|
-
|
|
|
|
- var load = function ( json ) {
|
|
|
|
-
|
|
|
|
- renderer = new THREE.WebGLRenderer( { antialias: true } );
|
|
|
|
- renderer.setSize( container.dom.offsetWidth, container.dom.offsetHeight );
|
|
|
|
- container.dom.appendChild( renderer.domElement );
|
|
|
|
-
|
|
|
|
- camera = editor.camera.clone();
|
|
|
|
-
|
|
|
|
- scene = new THREE.ObjectLoader().parse( json );
|
|
|
|
-
|
|
|
|
- //
|
|
|
|
-
|
|
|
|
- scripts = [];
|
|
|
|
-
|
|
|
|
- scene.traverse( function ( child ) {
|
|
|
|
-
|
|
|
|
- if ( child.script !== undefined ) {
|
|
|
|
-
|
|
|
|
- var script = new Function( 'scene', 'time', child.script.source ).bind( child );
|
|
|
|
- scripts.push( script );
|
|
|
|
-
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- } );
|
|
|
|
-
|
|
|
|
- };
|
|
|
|
-
|
|
|
|
- var request;
|
|
|
|
-
|
|
|
|
- var play = function () {
|
|
|
|
-
|
|
|
|
- request = requestAnimationFrame( play );
|
|
|
|
-
|
|
|
|
- update();
|
|
|
|
- render();
|
|
|
|
-
|
|
|
|
- };
|
|
|
|
-
|
|
|
|
- var stop = function () {
|
|
|
|
-
|
|
|
|
- cancelAnimationFrame( request );
|
|
|
|
-
|
|
|
|
- if ( renderer !== undefined ) {
|
|
|
|
-
|
|
|
|
- container.dom.removeChild( renderer.domElement );
|
|
|
|
-
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- };
|
|
|
|
-
|
|
|
|
- var render = function () {
|
|
|
|
-
|
|
|
|
- renderer.render( scene, camera );
|
|
|
|
-
|
|
|
|
- };
|
|
|
|
-
|
|
|
|
- var update = function () {
|
|
|
|
-
|
|
|
|
- var time = performance.now();
|
|
|
|
-
|
|
|
|
- for ( var i = 0; i < scripts.length; i ++ ) {
|
|
|
|
-
|
|
|
|
- scripts[ i ]( scene, time );
|
|
|
|
-
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- render();
|
|
|
|
-
|
|
|
|
- };
|
|
|
|
|
|
+ var player = new APP.Player();
|
|
|
|
|
|
signals.startPlayer.add( function ( json ) {
|
|
signals.startPlayer.add( function ( json ) {
|
|
|
|
|
|
container.setDisplay( '' );
|
|
container.setDisplay( '' );
|
|
|
|
|
|
- load( json );
|
|
|
|
- play();
|
|
|
|
|
|
+ player.load( json );
|
|
|
|
+ player.setCamera( editor.camera );
|
|
|
|
+ player.setSize( container.dom.offsetWidth, container.dom.offsetHeight );
|
|
|
|
+ player.play();
|
|
|
|
+
|
|
|
|
+ container.dom.appendChild( player.dom );
|
|
|
|
|
|
} );
|
|
} );
|
|
|
|
|
|
@@ -100,10 +31,12 @@ var Player = function ( editor ) {
|
|
|
|
|
|
container.setDisplay( 'none' );
|
|
container.setDisplay( 'none' );
|
|
|
|
|
|
- stop();
|
|
|
|
|
|
+ player.stop();
|
|
|
|
+
|
|
|
|
+ container.dom.removeChild( player.dom );
|
|
|
|
|
|
} );
|
|
} );
|
|
|
|
|
|
return container;
|
|
return container;
|
|
|
|
|
|
-};
|
|
|
|
|
|
+};
|