瀏覽代碼

Using Extend pattern in Clock. Added more robust check for performance.now(). See #2975.

Mr.doob 12 年之前
父節點
當前提交
2c174fea09
共有 1 個文件被更改,包括 31 次插入26 次删除
  1. 31 26
      src/core/Clock.js

+ 31 - 26
src/core/Clock.js

@@ -14,52 +14,57 @@ THREE.Clock = function ( autoStart ) {
 
 };
 
-THREE.Clock.prototype.start = function () {
+THREE.extend( THREE.Clock.prototype, {
 
-	this.startTime = performance.now !== undefined ? performance.now() : Date.now();
-	this.oldTime = this.startTime;
+	start: function () {
 
-	this.running = true;
+		this.startTime = window.performance !== undefined && window.performance.now !== undefined
+					? window.performance.now()
+					: Date.now();
 
-};
+		this.oldTime = this.startTime;
+		this.running = true;
+	},
 
-THREE.Clock.prototype.stop = function () {
+	stop: function () {
 
-	this.getElapsedTime();
+		this.getElapsedTime();
+		this.running = false;
 
-	this.running = false;
+	},
 
-};
+	getElapsedTime: function () {
 
-THREE.Clock.prototype.getElapsedTime = function () {
+		this.getDelta();
+		return this.elapsedTime;
 
-	this.getDelta();
+	},
 
-	return this.elapsedTime;
+	getDelta: function () {
 
-};
+		var diff = 0;
 
+		if ( this.autoStart && ! this.running ) {
 
-THREE.Clock.prototype.getDelta = function () {
+			this.start();
 
-	var diff = 0;
+		}
 
-	if ( this.autoStart && ! this.running ) {
+		if ( this.running ) {
 
-		this.start();
+			var newTime = window.performance !== undefined && window.performance.now !== undefined
+					? window.performance.now()
+					: Date.now();
 
-	}
+			diff = 0.001 * ( newTime - this.oldTime );
+			this.oldTime = newTime;
 
-	if ( this.running ) {
+			this.elapsedTime += diff;
 
-		var newTime = performance.now !== undefined ? performance.now() : Date.now();
-		diff = 0.001 * ( newTime - this.oldTime );
-		this.oldTime = newTime;
+		}
 
-		this.elapsedTime += diff;
+		return diff;
 
 	}
 
-	return diff;
-
-};
+} );