Options for collision
This commit is contained in:
parent
7b5b94947a
commit
8a486cd723
|
@ -52,6 +52,8 @@ var PointerCamera = function() {
|
||||||
listenerTarget.addEventListener('mousemove', onMouseMove, false);
|
listenerTarget.addEventListener('mousemove', onMouseMove, false);
|
||||||
listenerTarget.addEventListener('mouseup', onMouseUp, false);
|
listenerTarget.addEventListener('mouseup', onMouseUp, false);
|
||||||
listenerTarget.addEventListener('mouseout', onMouseUp, false);
|
listenerTarget.addEventListener('mouseout', onMouseUp, false);
|
||||||
|
|
||||||
|
this.collisions = true;
|
||||||
}
|
}
|
||||||
PointerCamera.prototype = Object.create(THREE.PerspectiveCamera.prototype);
|
PointerCamera.prototype = Object.create(THREE.PerspectiveCamera.prototype);
|
||||||
PointerCamera.prototype.constructor = PointerCamera;
|
PointerCamera.prototype.constructor = PointerCamera;
|
||||||
|
@ -137,7 +139,7 @@ PointerCamera.prototype.update = function() {
|
||||||
if (this.moveLeft) direction.add(Tools.mul(left, speed));
|
if (this.moveLeft) direction.add(Tools.mul(left, speed));
|
||||||
if (this.moveRight) direction.sub(Tools.mul(left, speed));
|
if (this.moveRight) direction.sub(Tools.mul(left, speed));
|
||||||
|
|
||||||
if (!this.isColliding(direction)) {
|
if (!this.collisions || !this.isColliding(direction)) {
|
||||||
this.position.add(direction);
|
this.position.add(direction);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -16,7 +16,10 @@
|
||||||
the camera at anytime by clicking on the reset button.
|
the camera at anytime by clicking on the reset button.
|
||||||
</p>
|
</p>
|
||||||
<button id="reset" style="margin-bottom:10px">Reset camera</button>
|
<button id="reset" style="margin-bottom:10px">Reset camera</button>
|
||||||
<button id="fullarrow" style="margin-bottom:10px">Full arrow</button>
|
<input type="checkbox" id="fullarrow" style="margin-bottom:10px">
|
||||||
|
<label for="fullarrow">Full arrow</label>
|
||||||
|
<input type="checkbox" id="collisions" style="margin-bottom:10px" checked>
|
||||||
|
<label for="collisions">Collisions</label>
|
||||||
<div style="border-width:1px; border-style: solid;" id="container"></div>
|
<div style="border-width:1px; border-style: solid;" id="container"></div>
|
||||||
#
|
#
|
||||||
</section>
|
</section>
|
||||||
|
|
|
@ -22,19 +22,18 @@ function init() {
|
||||||
// Add the listener on the button
|
// Add the listener on the button
|
||||||
document.getElementById('reset').onclick = function() { cameras.mainCamera().reset(); };
|
document.getElementById('reset').onclick = function() { cameras.mainCamera().reset(); };
|
||||||
var fullarrow = document.getElementById('fullarrow');
|
var fullarrow = document.getElementById('fullarrow');
|
||||||
fullarrow.onclick = function() {
|
fullarrow.onchange = function() {
|
||||||
if (fullarrow.innerHTML === 'Full arrow') {
|
|
||||||
fullarrow.innerHTML = "Half arrow";
|
|
||||||
} else {
|
|
||||||
fullarrow.innerHTML = "Full arrow";
|
|
||||||
}
|
|
||||||
|
|
||||||
cameras.map(function(camera) {
|
cameras.map(function(camera) {
|
||||||
if (camera instanceof FixedCamera) {
|
if (camera instanceof FixedCamera) {
|
||||||
camera.fullArrow = !camera.fullArrow;
|
camera.fullArrow = fullarrow.checked;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
};
|
}
|
||||||
|
|
||||||
|
var collisions = document.getElementById('collisions');
|
||||||
|
collisions.onchange = function() {
|
||||||
|
cameras.mainCamera().collisions = collisions.checked;
|
||||||
|
}
|
||||||
|
|
||||||
// on initialise le moteur de rendu
|
// on initialise le moteur de rendu
|
||||||
container = document.getElementById('container');
|
container = document.getElementById('container');
|
||||||
|
|
Loading…
Reference in New Issue