Skip to content

Commit 802d331

Browse files
committed
Detect collisions, stop the game on collision
1 parent d7daa3e commit 802d331

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

Diff for: public/scripts.js

+15-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,21 @@ var animate = function () {
4040
}
4141

4242
if (jumping) {
43-
player.position.y += 0.01;
43+
player.position.y += 0.02;
44+
}
45+
46+
for (var vi = 0; vi < player.geometry.vertices.length; vi++) {
47+
var localVertex = player.geometry.vertices[vi].clone();
48+
var globalVertex = localVertex.applyMatrix4( player.matrix );
49+
var directionVector = globalVertex.sub( player.position );
50+
var originPoint = player.position.clone();
51+
52+
var ray = new THREE.Raycaster( originPoint, directionVector.clone().normalize() );
53+
var collisionResults = ray.intersectObjects([obstacle]);
54+
55+
if ( collisionResults.length > 0 && collisionResults[0].distance < directionVector.length() ) {
56+
throw Error('game over!');
57+
}
4458
}
4559

4660
renderer.render(scene, camera);

0 commit comments

Comments
 (0)