Update: CC - SnailRunner - Entity Loaded (78gnds8jrj.js) 1680 bytes modified

beta.r3js.org
-=yb4f310 2018-03-09 15:20:15 +01:00
parent 51dcb7c6b8
commit 43769c4544
1 changed files with 75 additions and 0 deletions

View File

@ -72,6 +72,81 @@ GameLib.CustomCode.prototype.spawnRoadSections = function() {
}.bind(this)
GameLib.CustomCode.prototype.advanceClouds = function(diff) {
var cloudInfo = this.clouds.reduce(
function(result, cloud) {
cloud.position.x += diff;
cloud.updateInstance('position');
if (cloud.position.x > 48) {
result.dead.push(cloud);
} else {
result.alive.push(cloud);
}
return result;
},
{
alive : [],
dead : []
}
);
this.clouds = cloudInfo.alive;
cloudInfo.dead.map(
function(deadCloud) {
deadCloud.geometry = null;
deadCloud.materials = null;
deadCloud.remove();
}
)
}.bind(this);
GameLib.CustomCode.prototype.advanceRoadSections = function(diff) {
this.sections.map(
function(section) {
section.left.position.x += diff;
section.road.position.x += diff;
section.right.position.x += diff;
if (section.left.position.x > 48) {
section.left.position.x -= 204;
section.road.position.x -= 204;
section.right.position.x -= 204;
}
section.left.updateInstance('position');
section.road.updateInstance('position');
section.right.updateInstance('position');
}
);
}.bind(this);
GameLib.CustomCode.prototype.advanceCamera = function(delta) {
var modified = false;
if ((this.camera.position.z - this.snail.position.z) > 0.01) {
this.camera.position.z -= delta;
modified = true;
}
if ((this.snail.position.z - this.camera.position.z) > 0.01) {
this.camera.position.z += delta;
modified = true;
}
if (modified) {
this.camera.updateInstance('position');
this.camera.lookAt.x = this.snail.position.x;
this.camera.lookAt.y = this.snail.position.y;
this.camera.lookAt.z = this.snail.position.z;
this.camera.updateInstance('lookAt');
}
}.bind(this);
GameLib.Event.Subscribe(
GameLib.Event.GAME_START,
function() {