/**** * Classes ****/ var Obstacle = Container.expand(function () { var self = Container.call(this); var obstacleGraphics = LK.getAsset('obstacle', { scaleX: 0.5, scaleY: 0.5 }); obstacleGraphics.anchor.set(0.5, 0.5); self.addChild(obstacleGraphics); this.baseSpeed = 15; this.speed = this.baseSpeed; this._update_migrated = function () { this.speed = this.baseSpeed + Math.floor(LK.ticks / 500); this.y += this.speed; if (!this.soundPlayed) { LK.getSound('coconut').play(); this.soundPlayed = true; } if (this.y > player.y && !this.passed) { this.passed = true; score++; scoreText.setText(score.toString()); } }; }); var Player = Container.expand(function () { var self = Container.call(this); var playerGraphics = LK.getAsset('player', { scaleX: 0.5, scaleY: 0.5 }); playerGraphics.anchor.set(0.5, 0.5); self.addChild(playerGraphics); this.targetX = null; this.speed = 60; this.moveToLane = function (targetX) { this.targetX = targetX; }; this._update_migrated = function () { if (this.targetX !== null) { var direction = this.targetX > this.x ? 1 : -1; this.x += direction * this.speed; if (direction > 0 && this.x >= this.targetX || direction < 0 && this.x <= this.targetX) { this.x = this.targetX; this.targetX = null; } } }; }); var Power = Container.expand(function () { var self = Container.call(this); var powerGraphics = LK.getAsset('power', { scaleX: 0.5, scaleY: 0.5 }); powerGraphics.anchor.set(0.5, 0.5); self.addChild(powerGraphics); this.baseSpeed = 15; this.speed = this.baseSpeed; this._update_migrated = function () { this.speed = (this.baseSpeed + Math.floor(LK.ticks / 2000)) * 0.5; this.y += this.speed; }; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x000000 }); /**** * Game Code ****/ var score = 0; var scoreText = new Text2(score, { size: 150, font: "'GillSans-Bold',Impact,'Arial Black',Tahoma", fill: 0xFFFFFF }); scoreText.anchor.set(0.5, 0); LK.gui.top.addChild(scoreText); var lanes = [512, 1024, 1536]; // Three lanes for the player to move between var trackGraphics = []; lanes.forEach(function (lane) { var track = LK.getAsset('track', {}); track.anchor.set(0.5, 0); track.x = lane; track.y = 0; trackGraphics.push(track); game.addChild(track); }); var player = game.addChild(new Player()); var palmTree = LK.getAsset('palmTree', { scaleX: 1.5 * 1.5 * 1.5 * 1.5 * 1.5 * 1.4 }); palmTree.anchor.set(0.5, 0); palmTree.x = 1024; palmTree.y = 0; game.addChild(palmTree); player.y = 2732 - player.height - 2732 * 0.04; // Position the player 4% up from the bottom of the screen player.x = lanes[1]; // Start the player in the middle lane var powers = []; var obstacles = []; function spawnPower(lane) { var power = new Power(); power.x = lane; power.y = -power.height; powers.push(power); game.addChild(power); } function spawnObstacle(lane) { var obstacle = new Obstacle(); obstacle.x = lane; obstacle.y = -obstacle.height; obstacles.push(obstacle); game.addChild(obstacle); } var lastSpawnedLane = null; function spawnObstaclePattern() { var pattern = Math.floor(Math.random() * 2); switch (pattern) { case 0: spawnObstacle(lanes[0]); LK.setTimeout(function () { return spawnObstacle(lanes[2]); }, 1000); break; case 1: spawnObstacle(lanes[1]); LK.setTimeout(function () { return spawnObstacle(lanes[0]); }, 1000); break; } LK.setTimeout(spawnObstaclePattern, 3000); if (Math.random() < 0.3) { spawnPower(lanes[Math.floor(Math.random() * lanes.length)]); } } spawnObstaclePattern(); function updateGame() { player._update_migrated(); obstacles.forEach(function (obstacle) { obstacle._update_migrated(); if (obstacle.y > player.y && !obstacle.passed) { obstacle.passed = true; } if (player.intersects(obstacle)) { score += 6; scoreText.setText(score.toString()); obstacle.destroy(); obstacles.splice(obstacles.indexOf(obstacle), 1); } powers.forEach(function (power) { power._update_migrated(); if (player.intersects(power)) { LK.showGameOver(restartGame); } }); }); } LK.on('tick', updateGame); var swipeStartX = null; game.on('down', function (x, y, obj) { swipeStartX = game.toLocal(obj.global).x; }); game.on('up', function (x, y, obj) { var swipeEndX = game.toLocal(obj.global).x; var swipeDistance = swipeEndX - swipeStartX; if (swipeDistance > 100 && player.x < lanes[2]) { // Swipe right player.moveToLane(lanes[lanes.indexOf(player.x) + 1]); } else if (swipeDistance < -100 && player.x > lanes[0]) { // Swipe left player.moveToLane(lanes[lanes.indexOf(player.x) - 1]); } swipeStartX = null; }); function restartGame() { obstacles.forEach(function (obstacle) { obstacle.destroy(); }); powers.forEach(function (power) { power.destroy(); }); powers = []; obstacles = []; player.x = lanes[1]; player.y = 2732 - player.height; LK.submitScore(score); // Submit the score score = 0; scoreText.setText(score); } // Create three buttons at the bottom of the screen var leftButton = LK.getAsset('button', { width: 200, height: 200, color: 0x00ff00, shape: 'box' }); leftButton.x = 200 + 200 * 1.0; // Move the button 20% to the right leftButton.y = 2732 - 100 - 15 - 100; leftButton.on('down', function () { player.moveToLane(lanes[0]); LK.getSound('buttons').play(); }); game.addChild(leftButton); var middleButton = LK.getAsset('button', { width: 200, height: 200, color: 0x00ff00, shape: 'box' }); middleButton.x = 1024 - 1024 * 0.1; // Move the button 10% to the left middleButton.y = 2732 - 100 - 15 - 100; middleButton.on('down', function () { player.moveToLane(lanes[1]); LK.getSound('buttons').play(); }); game.addChild(middleButton); var rightButton = LK.getAsset('button', { width: 200, height: 200, color: 0x00ff00, shape: 'box' }); rightButton.x = 1848 - 1848 * 0.2; // Move the button 20% to the left rightButton.y = 2732 - 100 - 15 - 100; rightButton.on('down', function () { player.moveToLane(lanes[2]); LK.getSound('buttons').play(); }); game.addChild(rightButton); ;
===================================================================
--- original.js
+++ change.js
@@ -78,9 +78,9 @@
var score = 0;
var scoreText = new Text2(score, {
size: 150,
font: "'GillSans-Bold',Impact,'Arial Black',Tahoma",
- fill: "#ffffff"
+ fill: 0xFFFFFF
});
scoreText.anchor.set(0.5, 0);
LK.gui.top.addChild(scoreText);
var lanes = [512, 1024, 1536]; // Three lanes for the player to move between
@@ -146,22 +146,20 @@
player._update_migrated();
obstacles.forEach(function (obstacle) {
obstacle._update_migrated();
if (obstacle.y > player.y && !obstacle.passed) {
- score++;
- scoreText.setText(score.toString());
obstacle.passed = true;
}
if (player.intersects(obstacle)) {
- LK.showGameOver(restartGame);
+ score += 6;
+ scoreText.setText(score.toString());
+ obstacle.destroy();
+ obstacles.splice(obstacles.indexOf(obstacle), 1);
}
powers.forEach(function (power) {
power._update_migrated();
if (player.intersects(power)) {
- score += 6;
- scoreText.setText(score.toString());
- power.destroy();
- powers.splice(powers.indexOf(power), 1);
+ LK.showGameOver(restartGame);
}
});
});
}
summoning round blue button. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Make an image og a coconut. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Make more variations
Make a banana. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.