LoadingMonitor.js 814 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. /**
  2. * @author mrdoob / http://mrdoob.com/
  3. */
  4. THREE.LoadingMonitor = function () {
  5. var scope = this;
  6. var loaded = 0;
  7. var total = 0;
  8. var onLoad = function ( event ) {
  9. loaded ++;
  10. scope.dispatchEvent( { type: 'progress', loaded: loaded, total: total } );
  11. if ( loaded === total ) {
  12. scope.dispatchEvent( { type: 'load' } );
  13. }
  14. };
  15. this.add = function ( loader ) {
  16. total ++;
  17. loader.addEventListener( 'load', onLoad, false );
  18. };
  19. };
  20. THREE.LoadingMonitor.prototype = {
  21. constructor: THREE.LoadingMonitor,
  22. addEventListener: THREE.EventDispatcher.prototype.addEventListener,
  23. hasEventListener: THREE.EventDispatcher.prototype.hasEventListener,
  24. removeEventListener: THREE.EventDispatcher.prototype.removeEventListener,
  25. dispatchEvent: THREE.EventDispatcher.prototype.dispatchEvent
  26. };
粤ICP备19079148号