function _createGradientSurface() { var background = new CanvasSurface({ classes: ['backgroundSurface'], size: [window.innerWidth * 1.2, window.innerHeight * 1.2], canvasSize: [window.innerWidth * 1.2, window.innerHeight * 1.2] }); var colorCanvas = background.getContext('2d'); var gradient = colorCanvas.createLinearGradient( window.innerWidth * 1.2, //x0 0, //y0 0, //x1 window.innerHeight * 1.2 //y1 ); for (var i = 0; i < this._colorStops.length; i++) { gradient.addColorStop(this._colorStops[i].position, this._colorStops[i].color); } colorCanvas.fillStyle = gradient; colorCanvas.fillRect(0, 0, window.innerWidth * 1.2, window.innerHeight * 1.2); this._add(background); }
Timer.every(function() { for (var i=0; i < ships.length; i++) { ships[i].magnitudeLimit(1); ships[i].stateMod.setTransform(ships[i].particle.getTransform()); ships[i].wraparound(); // if (ships[i].collision.alive === false) { // resetShip(ships[i]); // }; if (keyState[65] /*&& ships[i].collision.alive*/) { ships[i].direction -= Math.PI / 32; mainCon.add(ships[i].stateMod).add(ships[i].rotationModifier()).add(ships[i].currentSurface); }; if (keyState[68] /*&& ships[i].collision.alive*/) { ships[i].direction += Math.PI / 32; mainCon.add(ships[i].stateMod).add(ships[i].rotationModifier()).add(ships[i].currentSurface); }; if (keyState[87] /*&& ships[i].collision.alive*/) { ships[i].addVector(0.02); }; if (keyState[82]) { sessionStorage.score = scoreboard.score; sessionStorage.ships = scoreboard.ships; location.reload(); }; if (ships[i].eventHandler.explosionTimer > 0) { ships[i].eventHandler.explosionTimer -= 1; if (ships[i].eventHandler.explosionTimer === 0) { scoreboard.ships -=1; removeItem(ships[i]); sessionStorage.score = scoreboard.score; sessionStorage.ships = scoreboard.ships; location.reload(); }; }; // allow torpedo fire every 5 frames if torpedos in play < 4 if (ships[i].torpTimer > 0) { ships[i].torpTimer -= 1; }; if ((keyState[76]) && (torpedos.length < 4) && (ships[i].torpTimer === 0)) { createTorpedo(ships[i]); }; }; for (var i=0; i < asteroids.length; i++) { asteroids[i].magnitudeLimit(1); asteroids[i].stateMod.setTransform(asteroids[i].particle.getTransform()); asteroids[i].wraparound(); if (asteroids[i].eventHandler.createDisallow > 0) { asteroids[i].eventHandler.createDisallow -= 1; }; if (asteroids[i].eventHandler.explosionTimer > 0) { asteroids[i].eventHandler.explosionTimer -= 1; if (asteroids[i].eventHandler.explosionTimer === 0) { removeItem(asteroids[i]); asteroids.splice(i,1); }; }; }; for (var i=0; i < torpedos.length; i++) { torpedos[i].stateMod.setTransform(torpedos[i].particle.getTransform()); torpedos[i].wraparound(); if (torpedos[i].eventHandler.explosionTimer > 0) { torpedos[i].eventHandler.explosionTimer -= 1; if (torpedos[i].eventHandler.explosionTimer === 0) { removeItem(torpedos[i]); torpedos.splice(i, 1); }; }; if (torpedos[i].existanceTimer > 0) { torpedos[i].existanceTimer -= 1; if (torpedos[i].existanceTimer === 0) { removeItem(torpedos[i]); torpedos.splice(i,1); }; }; }; var ctx = scoreboard.getContext('2d'); ctx.font = '30px Arial'; ctx.fillStyle = 'white'; ctx.clearRect(0, 0, ctx.canvas.width, ctx.canvas.height); ctx.fillText('Score: ' + scoreboard.score.toString() + " Ships: " + (scoreboard.ships -1).toString(),10,50); }, 1);