Player.js 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. var Player = function ( json ) {
  2. var camera = new THREE.PerspectiveCamera( 50, 1, 1, 1000 );
  3. camera.position.set( 500, 250, 500 );
  4. camera.lookAt( new THREE.Vector3() );
  5. var scene = new THREE.ObjectLoader().parse( json );
  6. var renderer = new THREE.WebGLRenderer( { antialias: true } );
  7. //
  8. var scriptObjects = [];
  9. scene.traverse( function ( child ) {
  10. if ( child.script !== undefined ) {
  11. child.script.compiled = new Function( 'object', child.script.source );
  12. scriptObjects.push( child );
  13. }
  14. } );
  15. //
  16. var setSize = function ( width, height ) {
  17. camera.aspect = width / height;
  18. camera.updateProjectionMatrix();
  19. renderer.setSize( width, height );
  20. };
  21. var play = function () {
  22. requestAnimationFrame( play );
  23. update();
  24. };
  25. var update = function () {
  26. for ( var i = 0; i < scriptObjects.length; i ++ ) {
  27. var object = scriptObjects[ i ];
  28. object.script.compiled( object );
  29. }
  30. renderer.render( scene, camera );
  31. };
  32. return {
  33. dom: renderer.domElement,
  34. setSize: setSize,
  35. play: play
  36. }
  37. };
粤ICP备19079148号