Update: CC - Snake FS - Entity Loaded (21g30t1e75.js) 438 bytes modified

beta.r3js.org
-=yb4f310 2018-03-22 19:10:45 +01:00
parent ea6f5fa7c0
commit f2550aa3bd
1 changed files with 38 additions and 41 deletions

View File

@ -937,15 +937,8 @@ GameLib.CustomCode.prototype.advanceSnake = function(delta) {
} }
} } else {
if (this.state.eating === true) {
body.applyToMesh();
return;
}
if (index > 0) {
temp = { temp = {
position : { position : {
x : body.position.x, x : body.position.x,
@ -955,49 +948,53 @@ GameLib.CustomCode.prototype.advanceSnake = function(delta) {
flip : body.flip flip : body.flip
} }
/** if (this.state.eating === false) {
* Create a new empty object at the current grid position (free it up)
*/
this.grid[body.position.x][body.position.y] = new GameLib.CustomCode.GameObject();
/** /**
* Assign the new location to the body * Create a new empty object at the current grid position (free it up)
*/ */
body.position.x = backup.position.x; this.grid[body.position.x][body.position.y] = new GameLib.CustomCode.GameObject();
body.position.y = backup.position.y;
body.orientation = backup.orientation;
body.flip = backup.flip;
/** /**
* Update the grid with our new body * Assign the new location to the body
*/ */
this.grid[body.position.x][body.position.y] = body; body.position.x = backup.position.x;
body.position.y = backup.position.y;
body.orientation = backup.orientation;
body.flip = backup.flip;
if (body.backupMesh) { /**
/** * Update the grid with our new body
* We used to be a corner, change back */
* @type {null} this.grid[body.position.x][body.position.y] = body;
*/
body.mesh.geometry = null;
body.mesh.materials = null; if (body.backupMesh) {
/**
* We used to be a corner, change back
* @type {null}
*/
body.mesh.geometry = null;
body.mesh.remove(); body.mesh.materials = null;
body.mesh = body.backupMesh; body.mesh.remove();
body.backupMesh = null; body.mesh = body.backupMesh;
body.mesh.visible = true; body.backupMesh = null;
body.mesh.updateInstance('visible'); body.mesh.visible = true;
body.mesh.updateInstance('position'); body.mesh.updateInstance('visible');
}
if (body.orientation !== temp.orientation) { body.mesh.updateInstance('position');
}
if ((index ) < this.snake.length) { }
if (backup.orientation !== temp.orientation) {
// if ((index ) < this.snake.length) {
/** /**
* Our orientation changed - we should make a corner * Our orientation changed - we should make a corner
*/ */
@ -1038,7 +1035,7 @@ GameLib.CustomCode.prototype.advanceSnake = function(delta) {
body.mesh.visible = true; body.mesh.visible = true;
body.mesh.updateInstance('visible'); body.mesh.updateInstance('visible');
} //}
} }