Skip to content

Commit 006a468

Browse files
committed
Add multiple obstacles to avoid
1 parent f8159a2 commit 006a468

File tree

1 file changed

+17
-10
lines changed

1 file changed

+17
-10
lines changed

public/scripts.js

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,17 @@ var initial_y = player.position.y;
1515
var initial_z = player.position.z;
1616
scene.add( player );
1717

18-
// obstacle
19-
var geometry = new THREE.BoxGeometry( 0.2, 1, 0.2 );
20-
var material = new THREE.MeshBasicMaterial( { color: 0xff0000 } );
21-
var obstacle = new THREE.Mesh( geometry, material );
22-
obstacle.position.x += 1;
23-
scene.add( obstacle );
18+
// obstacles
19+
var obstacles = [];
20+
21+
for (var i = 0; i < 5; i++) {
22+
var geometry = new THREE.BoxGeometry( 0.2, 1, 0.2 );
23+
var material = new THREE.MeshBasicMaterial( { color: 0xff0000 } );
24+
var obstacle = new THREE.Mesh( geometry, material );
25+
obstacle.position.x = 1 + i;
26+
obstacles.push(obstacle);
27+
scene.add( obstacle );
28+
}
2429

2530
camera.position.z = 5;
2631

@@ -32,10 +37,12 @@ var acceleration_step = 0.0025;
3237
var animate = function () {
3338
requestAnimationFrame( animate );
3439

35-
obstacle.position.x -= 0.01;
40+
for (var i = 0; i < obstacles.length; i++) {
41+
obstacles[i].position.x -= 0.01;
3642

37-
if (obstacle.position.x < (initial_x - 1)) {
38-
obstacle.position.x = 1;
43+
if (obstacles[i].position.x < (initial_x - 1)) {
44+
obstacles[i].position.x = obstacles.length;
45+
}
3946
}
4047

4148
if (keyboard.pressed("space")) {
@@ -69,7 +76,7 @@ var animate = function () {
6976
var originPoint = player.position.clone();
7077

7178
var ray = new THREE.Raycaster( originPoint, directionVector.clone().normalize() );
72-
var collisionResults = ray.intersectObjects([obstacle]);
79+
var collisionResults = ray.intersectObjects(obstacles);
7380

7481
if ( collisionResults.length > 0 && collisionResults[0].distance < directionVector.length() ) {
7582
throw Error('game over!');

0 commit comments

Comments
 (0)