PointerCamera take time into account
This commit is contained in:
		
							parent
							
								
									e82ce7fa57
								
							
						
					
					
						commit
						d74b0bdef7
					
				| @ -31,8 +31,8 @@ CameraContainer.prototype.look = function() { | |||||||
|     this.mainCamera().look(); |     this.mainCamera().look(); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| CameraContainer.prototype.updateMainCamera = function() { | CameraContainer.prototype.updateMainCamera = function(time) { | ||||||
|     this.pointerCamera.update(); |     this.pointerCamera.update(time); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| CameraContainer.prototype.update = function(position) { | CameraContainer.prototype.update = function(position) { | ||||||
|  | |||||||
| @ -62,13 +62,13 @@ PointerCamera.prototype = Object.create(THREE.PerspectiveCamera.prototype); | |||||||
| PointerCamera.prototype.constructor = PointerCamera; | PointerCamera.prototype.constructor = PointerCamera; | ||||||
| 
 | 
 | ||||||
| // Update function
 | // Update function
 | ||||||
| PointerCamera.prototype.update = function() { | PointerCamera.prototype.update = function(time) { | ||||||
|     if (this.moving) { |     if (this.moving) { | ||||||
|         this.linearMotion(); |         this.linearMotion(); | ||||||
|     } else if (this.movingHermite) { |     } else if (this.movingHermite) { | ||||||
|         this.hermiteMotion(); |         this.hermiteMotion(); | ||||||
|     } else { |     } else { | ||||||
|         this.normalMotion(); |         this.normalMotion(time); | ||||||
|     } |     } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @ -102,7 +102,7 @@ PointerCamera.prototype.hermiteMotion = function() { | |||||||
|     } |     } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| PointerCamera.prototype.normalMotion = function() { | PointerCamera.prototype.normalMotion = function(time) { | ||||||
|     // Update angles
 |     // Update angles
 | ||||||
|     if (this.increasePhi)   {this.phi   += this.sensitivity; this.changed = true; } |     if (this.increasePhi)   {this.phi   += this.sensitivity; this.changed = true; } | ||||||
|     if (this.decreasePhi)   {this.phi   -= this.sensitivity; this.changed = true; } |     if (this.decreasePhi)   {this.phi   -= this.sensitivity; this.changed = true; } | ||||||
| @ -136,7 +136,7 @@ PointerCamera.prototype.normalMotion = function() { | |||||||
|     left.multiplyScalar(400.0 * delta); |     left.multiplyScalar(400.0 * delta); | ||||||
| 
 | 
 | ||||||
|     // Move only if no collisions
 |     // Move only if no collisions
 | ||||||
|     var speed = this.speed; |     var speed = this.speed * time / 60; | ||||||
|     var direction = new THREE.Vector3(); |     var direction = new THREE.Vector3(); | ||||||
| 
 | 
 | ||||||
|     if (this.boost) speed *= 10; |     if (this.boost) speed *= 10; | ||||||
|  | |||||||
							
								
								
									
										6
									
								
								static/js/prototype/main.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								static/js/prototype/main.js
									
									
									
									
										vendored
									
									
								
							| @ -16,6 +16,7 @@ var loader; | |||||||
| var coins; | var coins; | ||||||
| var beenFullscreen = false; | var beenFullscreen = false; | ||||||
| var isFullscreen = false; | var isFullscreen = false; | ||||||
|  | var previousTime; | ||||||
| 
 | 
 | ||||||
| var main_section = document.getElementById('main-section'); | var main_section = document.getElementById('main-section'); | ||||||
| var offset = function() { | var offset = function() { | ||||||
| @ -196,6 +197,7 @@ function stopFullscreen() { | |||||||
| } | } | ||||||
| 
 | 
 | ||||||
| function render() { | function render() { | ||||||
|  |     var currentTime = Date.now() - previousTime; | ||||||
|     cameraSelecter.update(); |     cameraSelecter.update(); | ||||||
| 
 | 
 | ||||||
|     // Update recommendations (set raycastable if shown)
 |     // Update recommendations (set raycastable if shown)
 | ||||||
| @ -214,11 +216,13 @@ function render() { | |||||||
|     coins.forEach(function(coin) { coin.update(); }); |     coins.forEach(function(coin) { coin.update(); }); | ||||||
| 
 | 
 | ||||||
|     // Update main camera
 |     // Update main camera
 | ||||||
|     cameras.updateMainCamera(); |     cameras.updateMainCamera(currentTime); | ||||||
| 
 | 
 | ||||||
|     // Update the recommendations
 |     // Update the recommendations
 | ||||||
|     cameras.update(cameras.mainCamera()); |     cameras.update(cameras.mainCamera()); | ||||||
| 
 | 
 | ||||||
|  |     previousTime = Date.now(); | ||||||
|  | 
 | ||||||
|     // Set current position of camera
 |     // Set current position of camera
 | ||||||
|     cameras.look(); |     cameras.look(); | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user