|
@@ -5,8 +5,27 @@ var Player = function ( json ) {
|
|
|
camera.lookAt( new THREE.Vector3() );
|
|
|
|
|
|
var scene = new THREE.ObjectLoader().parse( json );
|
|
|
+
|
|
|
var renderer = new THREE.WebGLRenderer( { antialias: true } );
|
|
|
|
|
|
+ //
|
|
|
+
|
|
|
+ var scriptObjects = [];
|
|
|
+
|
|
|
+ scene.traverse( function ( child ) {
|
|
|
+
|
|
|
+ if ( child.script !== undefined ) {
|
|
|
+
|
|
|
+ child.script.compiled = new Function( 'object', child.script.source );
|
|
|
+
|
|
|
+ scriptObjects.push( child );
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ } );
|
|
|
+
|
|
|
+ //
|
|
|
+
|
|
|
var setSize = function ( width, height ) {
|
|
|
|
|
|
camera.aspect = width / height;
|
|
@@ -16,8 +35,22 @@ var Player = function ( json ) {
|
|
|
|
|
|
};
|
|
|
|
|
|
+ var play = function () {
|
|
|
+
|
|
|
+ requestAnimationFrame( play );
|
|
|
+ update();
|
|
|
+
|
|
|
+ };
|
|
|
+
|
|
|
var update = function () {
|
|
|
|
|
|
+ for ( var i = 0; i < scriptObjects.length; i ++ ) {
|
|
|
+
|
|
|
+ var object = scriptObjects[ i ];
|
|
|
+ object.script.compiled( object );
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
renderer.render( scene, camera );
|
|
|
|
|
|
};
|
|
@@ -25,7 +58,7 @@ var Player = function ( json ) {
|
|
|
return {
|
|
|
dom: renderer.domElement,
|
|
|
setSize: setSize,
|
|
|
- update: update
|
|
|
+ play: play
|
|
|
}
|
|
|
|
|
|
};
|