User prompt
Please fix the bug: 'ReferenceError: update is not defined' in or related to this line: 'update();' Line Number: 139
User prompt
Migrate to the latest version of LK
User prompt
add a start screen
User prompt
rats move faster
User prompt
increase rat speed
User prompt
increase shuriken speed
User prompt
increase shuriken speed
User prompt
Fix Bug: 'ReferenceError: spawnRate is not defined' in this line: 'spawnRate *= 2;' Line Number: 96
User prompt
every ten points, double rat spawn rate
User prompt
every ten points, increase rat speed
User prompt
Fix Bug: 'Timeout.tick error: speedMultiplier is not defined' in this line: 'self.speed = (Math.random() * 3 + 1) * speedMultiplier;' Line Number: 26
User prompt
every ten points, the rats get faster
User prompt
change shotLimit to 3
User prompt
player can only shoot 5 shuriken per second
User prompt
Fix Bug: 'Uncaught TypeError: LK.playMusic is not a function' in this line: 'LK.playMusic('game_music');' Line Number: 41
User prompt
add music
User prompt
shuriken spin on center axis
User prompt
shuriken start to move when left mouse button is released
User prompt
the longer the player holds the left mouse button, the faster the shuriken moves
User prompt
every 10 points the player gets, increase rat speed by a small amount
User prompt
shuriken move faster
User prompt
when blood splatter is spawned, add random rotation to asset
User prompt
blood splatter game sprite de-spawns after 3 seconds
User prompt
when a rat dies, it spawns a blood splatter sprite
User prompt
when a shuriken hits a rat, both shuriken and rat game sprites are de-spawned
var BloodSplatter = Container.expand(function () { var self = Container.call(this); var bloodSplatterGraphics = self.createAsset('bloodSplatter', 'Blood Splatter Graphics', .5, .5); bloodSplatterGraphics.rotation = Math.random() * 2 * Math.PI; self.despawn = function () { LK.setTimeout(function () { self.destroy(); }, 3000); }; self.despawn(); }); var Shuriken = Container.expand(function () { var self = Container.call(this); var shurikenGraphics = self.createAsset('shuriken', 'Shuriken Graphics', .5, .5); self.speed = 20; self.move = function () { ; self.y -= self.speed; }; }); var Rat = Container.expand(function () { var self = Container.call(this); var ratGraphics = self.createAsset('rat', 'Rat Graphics', .5, .5); self.speed = Math.random() * 3 + 1; self.move = function () { self.y += self.speed; if (self.y >= 2732) { LK.showGameOver(); } }; }); var PowerUp = Container.expand(function () { var self = Container.call(this); var powerUpGraphics = self.createAsset('powerUp', 'PowerUp Graphics', .5, .5); self.activate = function () {}; }); var Game = Container.expand(function () { var self = Container.call(this); var background = self.createAsset('wooden_floor', 'Level Background', 0, 0); background.width = 2048; background.height = 2732; background.isCollisionObject = false; var scoreTxt = new Text2('0', { size: 150, fill: "#ffffff" }); scoreTxt.anchor.set(.5, 0); LK.gui.topCenter.addChild(scoreTxt); var shurikens = []; var rats = []; var powerUps = []; var isGameOver = false; var tickOffset = 0; var score = 0; var ratSpeedIncrease = 0; var mouseDownTime = 0; function init() { spawnRats(); } function spawnRats() { var spawnTime = Math.random() * 2000 + 1000; LK.setTimeout(function () { var rat = new Rat(); rat.speed += ratSpeedIncrease; rat.x = Math.random() * 2048; rat.y = 0; rats.push(rat); self.addChild(rat); spawnRats(); }, spawnTime); } function update() {} function gameOver() {} function checkCollision() { for (var i = 0; i < shurikens.length; i++) { for (var j = 0; j < rats.length; j++) { if (shurikens[i].intersects(rats[j])) { self.removeChild(shurikens[i]); shurikens.splice(i, 1); self.removeChild(rats[j]); var bloodSplatter = new BloodSplatter(); bloodSplatter.x = rats[j].x; bloodSplatter.y = rats[j].y; self.addChild(bloodSplatter); bloodSplatter.despawn(); rats.splice(j, 1); score++; if (score % 10 === 0) { ratSpeedIncrease += 0.1; } break; } } } } function updateScore() { scoreTxt.setText(score); } stage.on('down', function (obj) { mouseDownTime = LK.ticks; var shuriken = new Shuriken(); shuriken.x = obj.event.getLocalPosition(self).x; shuriken.y = 2732; shurikens.push(shuriken); self.addChild(shuriken); }); stage.on('move', function (obj) {}); stage.on('up', function (obj) { var timeHeld = LK.ticks - mouseDownTime; shurikens[shurikens.length - 1].speed = timeHeld / 10; }); LK.on('tick', function () { update(); for (var i = 0; i < rats.length; i++) { rats[i].move(); } for (var i = 0; i < shurikens.length; i++) { shurikens[i].move(); } checkCollision(); updateScore(); if (isGameOver) { gameOver(); } }); init(); });
===================================================================
--- original.js
+++ change.js
@@ -52,8 +52,9 @@
var isGameOver = false;
var tickOffset = 0;
var score = 0;
var ratSpeedIncrease = 0;
+ var mouseDownTime = 0;
function init() {
spawnRats();
}
function spawnRats() {
@@ -95,16 +96,20 @@
function updateScore() {
scoreTxt.setText(score);
}
stage.on('down', function (obj) {
+ mouseDownTime = LK.ticks;
var shuriken = new Shuriken();
shuriken.x = obj.event.getLocalPosition(self).x;
shuriken.y = 2732;
shurikens.push(shuriken);
self.addChild(shuriken);
});
stage.on('move', function (obj) {});
- stage.on('up', function (obj) {});
+ stage.on('up', function (obj) {
+ var timeHeld = LK.ticks - mouseDownTime;
+ shurikens[shurikens.length - 1].speed = timeHeld / 10;
+ });
LK.on('tick', function () {
update();
for (var i = 0; i < rats.length; i++) {
rats[i].move();