var skaters = []; var Snowboarder = Container.expand(function () { var self = Container.call(this); var snowboarderGraphics = self.createAsset('snowboarder', 'Snowboarder Graphics', 0.5, 0.5); self.direction = Math.random() * 2 * Math.PI; self.speed = 3; self.rotationSpeed = 0.05; self.isRotating = false; self.rotateTimer = 0; self.rotateDuration = 60; self.move = function () { var newX = self.x + Math.cos(self.direction) * self.speed; var newY = self.y + Math.sin(self.direction) * self.speed; if (newX > 1798 || newX < 300) self.direction = Math.PI - self.direction; if (newY > 2482 || newY < 250) self.direction = -self.direction; self.x = newX; self.y = newY; }; self.update = function () { if (self.isRotating) { self.rotation += self.rotationSpeed * 0.5; self.rotateTimer++; if (self.rotateTimer >= self.rotateDuration) { self.isRotating = false; self.rotateTimer = 0; self.direction = Math.random() * 2 * Math.PI; } } else if (Math.random() < 0.01) { self.isRotating = true; } self.move(); for (var i = 0; i < skaters.length; i++) { if (self !== skaters[i] && self.intersects(skaters[i], 0.1)) { var angle = Math.atan2(skaters[i].y - self.y, skaters[i].x - self.x); self.direction = angle + Math.PI; skaters[i].direction = angle; } } var circleCenter = { x: 2048 / 2, y: 2732 / 2 }; var distanceToCenter = Math.sqrt(Math.pow(self.x - circleCenter.x, 2) + Math.pow(self.y - circleCenter.y, 2)); if (distanceToCenter < 400) { var angle = Math.atan2(circleCenter.y - self.y, circleCenter.x - self.x); self.direction = angle + Math.PI; } }; }); var LifeRestorationAsset = Container.expand(function () { var self = Container.call(this); var lifeRestorationGraphics = self.createAsset('lifeRestoration', 'Life Restoration Graphics', 0.5, 0.5); self.show = function (x, y) { self.x = x; self.y = y; self.visible = true; LK.setTimeout(function () { self.destroy(); }, 500); }; }); var BubbleUI = Container.expand(function () { var self = Container.call(this); self.bubbles = []; var bubble = self.createAsset('bubble', 'UI Bubble', 0, 0.5); var totalWidth = 4 * (bubble.width + 10) - 10; self.x = (2048 - totalWidth) / 2; for (var i = 0; i < 4; i++) { var bubble = self.createAsset('bubble', 'UI Bubble', 0, 0.5); bubble.x = i * (bubble.width + 10); bubble.y = 0; self.bubbles.push(bubble); self.addChild(bubble); } self.updateBubbles = function (lives) { for (var i = 0; i < self.bubbles.length; i++) { if (i < lives) { self.bubbles[i].tint = 0xFFFFFF; if (!self.bubbles[i].restored) { var lifeRestoration = new LifeRestorationAsset(); self.addChild(lifeRestoration); lifeRestoration.show(self.bubbles[i].x + self.bubbles[i].width / 2, self.bubbles[i].y - lifeRestoration.height / 2 + 65); self.bubbles[i].restored = true; } } else { self.bubbles[i].tint = 0x000000; self.bubbles[i].restored = false; } } }; self.y = 2732 - self.bubbles[0].height - 5; }); var Skater = Container.expand(function () { var self = Container.call(this); var skaterGraphics = self.createAsset('skater', 'Skater Graphics', 0.5, 0.5); self.direction = Math.random() * 2 * Math.PI; self.speed = 3; self.rotationSpeed = 0.05; self.isRotating = false; self.rotateTimer = 0; self.rotateDuration = 60; self.move = function () { var newX = self.x + Math.cos(self.direction) * self.speed; var newY = self.y + Math.sin(self.direction) * self.speed; if (newX > 1798 || newX < 300) self.direction = Math.PI - self.direction; if (newY > 2482 || newY < 250) self.direction = -self.direction; self.x = newX; self.y = newY; }; self.update = function () { if (self.isRotating) { self.rotation += self.rotationSpeed * 0.5; self.rotateTimer++; if (self.rotateTimer >= self.rotateDuration) { self.isRotating = false; self.rotateTimer = 0; self.direction = Math.random() * 2 * Math.PI; } } else if (Math.random() < 0.01) { self.isRotating = true; } self.move(); for (var i = 0; i < skaters.length; i++) { if (self !== skaters[i] && self.intersects(skaters[i], 0.1)) { var angle = Math.atan2(skaters[i].y - self.y, skaters[i].x - self.x); self.direction = angle + Math.PI; skaters[i].direction = angle; } } var circleCenter = { x: 2048 / 2, y: 2732 / 2 }; var distanceToCenter = Math.sqrt(Math.pow(self.x - circleCenter.x, 2) + Math.pow(self.y - circleCenter.y, 2)); if (distanceToCenter < 400) { var angle = Math.atan2(circleCenter.y - self.y, circleCenter.x - self.x); self.direction = angle + Math.PI; } }; }); var Bubble = Container.expand(function () { var self = Container.call(this); var bubbleGraphics = self.createAsset('bubble', 'Bubble Graphics', .5, .5); bubbleGraphics.width *= 0.7; bubbleGraphics.height *= 0.7; self.speed = 45; self.move = function () { self.x += Math.cos(self.rotation) * self.speed; self.y += Math.sin(self.rotation) * self.speed; }; }); var Shooter = Container.expand(function () { var self = Container.call(this); self.rotationAngle = 0; var shooterGraphics = self.createAsset('cannon', 'Cannon Graphics', 0.5, 1); var cannonSize = Math.min(shooterGraphics.width, shooterGraphics.height) * 0.375; shooterGraphics.width = cannonSize; shooterGraphics.height = cannonSize; }); var Game = Container.expand(function () { LK.stage.on('move', function (obj) { self.levelUp = function () { self.levelTransitionInProgress = true; self.level++; self.setLives(4); skaters.forEach(function (entity) { if (entity instanceof Snowboarder) { entity.destroy(); } }); skaters = skaters.filter(function (entity) { return !(entity instanceof Snowboarder); }); self.spawnSkaters(self.level); self.levelTransitionInProgress = false; self.levelTransitionInitiated = false; }; var event = obj.event; var pos = event.getLocalPosition(self); var angle = Math.atan2(pos.y - shooter.y, pos.x - shooter.x) + Math.PI / 2; shooter.rotation = angle; }); LK.stage.on('up', function (obj) { if (self.lives > 0 && !self.levelTransitionInitiated && !self.levelTransitionInProgress) { var event = obj.event; var pos = event.getLocalPosition(self); var newBubble = self.addChild(new Bubble()); newBubble.rotation = Math.atan2(pos.y - shooter.y, pos.x - shooter.x); newBubble.x = shooter.x; newBubble.y = shooter.y; bubbles.push(newBubble); if (self.lives > 0) { self.lives--; } bubbleUI.updateBubbles(self.lives); } }); var self = Container.call(this); self.level = 1; self.levelTransitionInitiated = false; self.levelTransitionInProgress = false; var bubbleUI = self.addChild(new BubbleUI()); self.setLives = function (lives) { self.lives = lives; bubbleUI.updateBubbles(self.lives); }; self.setLives(4); self.score = 0; var scoreText = new Text2(self.score.toString(), { size: 150, fill: "#ffffff", stroke: "#075079", strokeThickness: 11.25, font: "'Luckiest Guy', 'Arial Black', sans-serif" }); scoreText.anchor.set(0.5, 0); LK.gui.topCenter.addChild(scoreText); self.spawnSkaters = function (level) { for (var i = 0; i < level + 4; i++) { var skater = self.addChild(new Skater()); do { skater.x = 300 + Math.random() * (2048 - 600); skater.y = 250 + Math.random() * (2732 - 500); } while (Math.sqrt(Math.pow(skater.x - 2048 / 2, 2) + Math.pow(skater.y - 2732 / 2, 2)) < 400); skaters.push(skater); } var numberOfSnowboarders = Math.max(0, Math.ceil((self.level - 1) / 2)); for (var sb = 0; sb < numberOfSnowboarders; sb++) { var snowboarder = self.addChild(new Snowboarder()); do { snowboarder.x = 300 + Math.random() * (2048 - 600); snowboarder.y = 250 + Math.random() * (2732 - 500); } while (Math.sqrt(Math.pow(snowboarder.x - 2048 / 2, 2) + Math.pow(snowboarder.y - 2732 / 2, 2)) < 400); skaters.push(snowboarder); } }; isGameOver = false; self.levelCompleted = true; if (!self.levelTransitionInitiated) { self.spawnSkaters(self.level); } var backgroundLayer2 = self.createAsset('backgroundLayer2', 'Background Layer 2', 0.5, 0.5); backgroundLayer2.width = 2048; backgroundLayer2.height = 2732; backgroundLayer2.x = 2048 / 2; backgroundLayer2.y = 2732 / 2; self.addChildAt(backgroundLayer2, 0); var background = self.createAsset('background', 'Background Image', 0.5, 0.5); background.width = 2048; background.height = 2732; background.x = 2048 / 2; background.y = 2732 / 2; self.addChildAt(background, 1); var bubbles = []; var bubbleHitEdge = false; var shooter = self.addChild(new Shooter()); shooter.x = 2048 / 2; shooter.y = 2732 / 2; var circle = self.createAsset('circle', 'Red Circle', 0.5, 0.5); circle.width = 600; circle.height = 600; circle.alpha = 1; circle.x = 2048 / 2; circle.y = 2732 / 2; self.addChildAt(circle, 2); var isGameOver = false; var tickOffset = 0; LK.on('tick', function () { var levelCompleted = false; var gameOver = false; if (isGameOver) { LK.effects.flashScreen(0xff0000, 1000); LK.showGameOver(); } for (var i = 0; i < skaters.length; i++) { skaters[i].update(); } for (var a = bubbles.length - 1; a >= 0; a--) { bubbles[a].move(); for (var s = skaters.length - 1; s >= 0; s--) { if (bubbles[a].intersects(skaters[s])) { if (skaters[s] instanceof Snowboarder) { isGameOver = true; } else if (skaters[s]) { var explosion = self.createAsset('explosion', 'Explosion Graphics', 0.5, 0.5); explosion.x = skaters[s].x; explosion.y = skaters[s].y; self.addChild(explosion); LK.setTimeout(function () { explosion.destroy(); }, 100); skaters[s].destroy(); skaters.splice(s, 1); if (!bubbles[a].skatersHit) { bubbles[a].skatersHit = []; } bubbles[a].skatersHit.push(skaters[s]); var skaterScore = bubbles[a].skatersHit.length; LK.setScore(LK.getScore() + skaterScore); if (skaterScore >= 2) { if (self.lives < 4) { self.lives++; bubbleUI.updateBubbles(self.lives); } } scoreText.setText(LK.getScore().toString()); } var skaterCount = skaters.filter(function (entity) { return !(entity instanceof Snowboarder); }).length; break; } } if (bubbles[a].x > 2048 || bubbles[a].x < 0 || bubbles[a].y > 2732 || bubbles[a].y < 0 || !bubbles[a].parent) { bubbleHitEdge = true; bubbles[a].destroy(); bubbles.splice(a, 1); var skaterCount = skaters.filter(function (entity) { return !(entity instanceof Snowboarder); }).length; if (skaterCount === 0 && !self.levelTransitionInitiated && !self.levelTransitionInProgress) { self.levelCompleted = true; self.levelTransitionInitiated = true; if (!self.levelTransitionInProgress) { LK.setScore(LK.getScore() + self.lives * 5); scoreText.setText(LK.getScore().toString()); self.levelUp(); } } else if (bubbles.length === 0 && self.lives === 0) { isGameOver = true; } } } var skaterCount = skaters.filter(function (entity) { return !(entity instanceof Snowboarder); }).length; if (skaterCount === 0 && bubbles.length === 0 && !self.levelTransitionInitiated && !self.levelTransitionInProgress) { self.levelCompleted = true; self.levelTransitionInitiated = true; LK.setTimeout(function () { if (!self.levelTransitionInProgress) { LK.setScore(LK.getScore() + self.lives * 5); scoreText.setText(LK.getScore().toString()); self.levelUp(); } }, 500); } if (!levelCompleted && self.lives === 0 && bubbles.length === 0 && !isGameOver) { gameOver = true; } if (gameOver) { isGameOver = true; LK.effects.flashScreen(0xff0000, 1000); LK.showGameOver(); } }); });
var skaters = [];
var Snowboarder = Container.expand(function () {
var self = Container.call(this);
var snowboarderGraphics = self.createAsset('snowboarder', 'Snowboarder Graphics', 0.5, 0.5);
self.direction = Math.random() * 2 * Math.PI;
self.speed = 3;
self.rotationSpeed = 0.05;
self.isRotating = false;
self.rotateTimer = 0;
self.rotateDuration = 60;
self.move = function () {
var newX = self.x + Math.cos(self.direction) * self.speed;
var newY = self.y + Math.sin(self.direction) * self.speed;
if (newX > 1798 || newX < 300) self.direction = Math.PI - self.direction;
if (newY > 2482 || newY < 250) self.direction = -self.direction;
self.x = newX;
self.y = newY;
};
self.update = function () {
if (self.isRotating) {
self.rotation += self.rotationSpeed * 0.5;
self.rotateTimer++;
if (self.rotateTimer >= self.rotateDuration) {
self.isRotating = false;
self.rotateTimer = 0;
self.direction = Math.random() * 2 * Math.PI;
}
} else if (Math.random() < 0.01) {
self.isRotating = true;
}
self.move();
for (var i = 0; i < skaters.length; i++) {
if (self !== skaters[i] && self.intersects(skaters[i], 0.1)) {
var angle = Math.atan2(skaters[i].y - self.y, skaters[i].x - self.x);
self.direction = angle + Math.PI;
skaters[i].direction = angle;
}
}
var circleCenter = {
x: 2048 / 2,
y: 2732 / 2
};
var distanceToCenter = Math.sqrt(Math.pow(self.x - circleCenter.x, 2) + Math.pow(self.y - circleCenter.y, 2));
if (distanceToCenter < 400) {
var angle = Math.atan2(circleCenter.y - self.y, circleCenter.x - self.x);
self.direction = angle + Math.PI;
}
};
});
var LifeRestorationAsset = Container.expand(function () {
var self = Container.call(this);
var lifeRestorationGraphics = self.createAsset('lifeRestoration', 'Life Restoration Graphics', 0.5, 0.5);
self.show = function (x, y) {
self.x = x;
self.y = y;
self.visible = true;
LK.setTimeout(function () {
self.destroy();
}, 500);
};
});
var BubbleUI = Container.expand(function () {
var self = Container.call(this);
self.bubbles = [];
var bubble = self.createAsset('bubble', 'UI Bubble', 0, 0.5);
var totalWidth = 4 * (bubble.width + 10) - 10;
self.x = (2048 - totalWidth) / 2;
for (var i = 0; i < 4; i++) {
var bubble = self.createAsset('bubble', 'UI Bubble', 0, 0.5);
bubble.x = i * (bubble.width + 10);
bubble.y = 0;
self.bubbles.push(bubble);
self.addChild(bubble);
}
self.updateBubbles = function (lives) {
for (var i = 0; i < self.bubbles.length; i++) {
if (i < lives) {
self.bubbles[i].tint = 0xFFFFFF;
if (!self.bubbles[i].restored) {
var lifeRestoration = new LifeRestorationAsset();
self.addChild(lifeRestoration);
lifeRestoration.show(self.bubbles[i].x + self.bubbles[i].width / 2, self.bubbles[i].y - lifeRestoration.height / 2 + 65);
self.bubbles[i].restored = true;
}
} else {
self.bubbles[i].tint = 0x000000;
self.bubbles[i].restored = false;
}
}
};
self.y = 2732 - self.bubbles[0].height - 5;
});
var Skater = Container.expand(function () {
var self = Container.call(this);
var skaterGraphics = self.createAsset('skater', 'Skater Graphics', 0.5, 0.5);
self.direction = Math.random() * 2 * Math.PI;
self.speed = 3;
self.rotationSpeed = 0.05;
self.isRotating = false;
self.rotateTimer = 0;
self.rotateDuration = 60;
self.move = function () {
var newX = self.x + Math.cos(self.direction) * self.speed;
var newY = self.y + Math.sin(self.direction) * self.speed;
if (newX > 1798 || newX < 300) self.direction = Math.PI - self.direction;
if (newY > 2482 || newY < 250) self.direction = -self.direction;
self.x = newX;
self.y = newY;
};
self.update = function () {
if (self.isRotating) {
self.rotation += self.rotationSpeed * 0.5;
self.rotateTimer++;
if (self.rotateTimer >= self.rotateDuration) {
self.isRotating = false;
self.rotateTimer = 0;
self.direction = Math.random() * 2 * Math.PI;
}
} else if (Math.random() < 0.01) {
self.isRotating = true;
}
self.move();
for (var i = 0; i < skaters.length; i++) {
if (self !== skaters[i] && self.intersects(skaters[i], 0.1)) {
var angle = Math.atan2(skaters[i].y - self.y, skaters[i].x - self.x);
self.direction = angle + Math.PI;
skaters[i].direction = angle;
}
}
var circleCenter = {
x: 2048 / 2,
y: 2732 / 2
};
var distanceToCenter = Math.sqrt(Math.pow(self.x - circleCenter.x, 2) + Math.pow(self.y - circleCenter.y, 2));
if (distanceToCenter < 400) {
var angle = Math.atan2(circleCenter.y - self.y, circleCenter.x - self.x);
self.direction = angle + Math.PI;
}
};
});
var Bubble = Container.expand(function () {
var self = Container.call(this);
var bubbleGraphics = self.createAsset('bubble', 'Bubble Graphics', .5, .5);
bubbleGraphics.width *= 0.7;
bubbleGraphics.height *= 0.7;
self.speed = 45;
self.move = function () {
self.x += Math.cos(self.rotation) * self.speed;
self.y += Math.sin(self.rotation) * self.speed;
};
});
var Shooter = Container.expand(function () {
var self = Container.call(this);
self.rotationAngle = 0;
var shooterGraphics = self.createAsset('cannon', 'Cannon Graphics', 0.5, 1);
var cannonSize = Math.min(shooterGraphics.width, shooterGraphics.height) * 0.375;
shooterGraphics.width = cannonSize;
shooterGraphics.height = cannonSize;
});
var Game = Container.expand(function () {
LK.stage.on('move', function (obj) {
self.levelUp = function () {
self.levelTransitionInProgress = true;
self.level++;
self.setLives(4);
skaters.forEach(function (entity) {
if (entity instanceof Snowboarder) {
entity.destroy();
}
});
skaters = skaters.filter(function (entity) {
return !(entity instanceof Snowboarder);
});
self.spawnSkaters(self.level);
self.levelTransitionInProgress = false;
self.levelTransitionInitiated = false;
};
var event = obj.event;
var pos = event.getLocalPosition(self);
var angle = Math.atan2(pos.y - shooter.y, pos.x - shooter.x) + Math.PI / 2;
shooter.rotation = angle;
});
LK.stage.on('up', function (obj) {
if (self.lives > 0 && !self.levelTransitionInitiated && !self.levelTransitionInProgress) {
var event = obj.event;
var pos = event.getLocalPosition(self);
var newBubble = self.addChild(new Bubble());
newBubble.rotation = Math.atan2(pos.y - shooter.y, pos.x - shooter.x);
newBubble.x = shooter.x;
newBubble.y = shooter.y;
bubbles.push(newBubble);
if (self.lives > 0) {
self.lives--;
}
bubbleUI.updateBubbles(self.lives);
}
});
var self = Container.call(this);
self.level = 1;
self.levelTransitionInitiated = false;
self.levelTransitionInProgress = false;
var bubbleUI = self.addChild(new BubbleUI());
self.setLives = function (lives) {
self.lives = lives;
bubbleUI.updateBubbles(self.lives);
};
self.setLives(4);
self.score = 0;
var scoreText = new Text2(self.score.toString(), {
size: 150,
fill: "#ffffff",
stroke: "#075079",
strokeThickness: 11.25,
font: "'Luckiest Guy', 'Arial Black', sans-serif"
});
scoreText.anchor.set(0.5, 0);
LK.gui.topCenter.addChild(scoreText);
self.spawnSkaters = function (level) {
for (var i = 0; i < level + 4; i++) {
var skater = self.addChild(new Skater());
do {
skater.x = 300 + Math.random() * (2048 - 600);
skater.y = 250 + Math.random() * (2732 - 500);
} while (Math.sqrt(Math.pow(skater.x - 2048 / 2, 2) + Math.pow(skater.y - 2732 / 2, 2)) < 400);
skaters.push(skater);
}
var numberOfSnowboarders = Math.max(0, Math.ceil((self.level - 1) / 2));
for (var sb = 0; sb < numberOfSnowboarders; sb++) {
var snowboarder = self.addChild(new Snowboarder());
do {
snowboarder.x = 300 + Math.random() * (2048 - 600);
snowboarder.y = 250 + Math.random() * (2732 - 500);
} while (Math.sqrt(Math.pow(snowboarder.x - 2048 / 2, 2) + Math.pow(snowboarder.y - 2732 / 2, 2)) < 400);
skaters.push(snowboarder);
}
};
isGameOver = false;
self.levelCompleted = true;
if (!self.levelTransitionInitiated) {
self.spawnSkaters(self.level);
}
var backgroundLayer2 = self.createAsset('backgroundLayer2', 'Background Layer 2', 0.5, 0.5);
backgroundLayer2.width = 2048;
backgroundLayer2.height = 2732;
backgroundLayer2.x = 2048 / 2;
backgroundLayer2.y = 2732 / 2;
self.addChildAt(backgroundLayer2, 0);
var background = self.createAsset('background', 'Background Image', 0.5, 0.5);
background.width = 2048;
background.height = 2732;
background.x = 2048 / 2;
background.y = 2732 / 2;
self.addChildAt(background, 1);
var bubbles = [];
var bubbleHitEdge = false;
var shooter = self.addChild(new Shooter());
shooter.x = 2048 / 2;
shooter.y = 2732 / 2;
var circle = self.createAsset('circle', 'Red Circle', 0.5, 0.5);
circle.width = 600;
circle.height = 600;
circle.alpha = 1;
circle.x = 2048 / 2;
circle.y = 2732 / 2;
self.addChildAt(circle, 2);
var isGameOver = false;
var tickOffset = 0;
LK.on('tick', function () {
var levelCompleted = false;
var gameOver = false;
if (isGameOver) {
LK.effects.flashScreen(0xff0000, 1000);
LK.showGameOver();
}
for (var i = 0; i < skaters.length; i++) {
skaters[i].update();
}
for (var a = bubbles.length - 1; a >= 0; a--) {
bubbles[a].move();
for (var s = skaters.length - 1; s >= 0; s--) {
if (bubbles[a].intersects(skaters[s])) {
if (skaters[s] instanceof Snowboarder) {
isGameOver = true;
} else if (skaters[s]) {
var explosion = self.createAsset('explosion', 'Explosion Graphics', 0.5, 0.5);
explosion.x = skaters[s].x;
explosion.y = skaters[s].y;
self.addChild(explosion);
LK.setTimeout(function () {
explosion.destroy();
}, 100);
skaters[s].destroy();
skaters.splice(s, 1);
if (!bubbles[a].skatersHit) {
bubbles[a].skatersHit = [];
}
bubbles[a].skatersHit.push(skaters[s]);
var skaterScore = bubbles[a].skatersHit.length;
LK.setScore(LK.getScore() + skaterScore);
if (skaterScore >= 2) {
if (self.lives < 4) {
self.lives++;
bubbleUI.updateBubbles(self.lives);
}
}
scoreText.setText(LK.getScore().toString());
}
var skaterCount = skaters.filter(function (entity) {
return !(entity instanceof Snowboarder);
}).length;
break;
}
}
if (bubbles[a].x > 2048 || bubbles[a].x < 0 || bubbles[a].y > 2732 || bubbles[a].y < 0 || !bubbles[a].parent) {
bubbleHitEdge = true;
bubbles[a].destroy();
bubbles.splice(a, 1);
var skaterCount = skaters.filter(function (entity) {
return !(entity instanceof Snowboarder);
}).length;
if (skaterCount === 0 && !self.levelTransitionInitiated && !self.levelTransitionInProgress) {
self.levelCompleted = true;
self.levelTransitionInitiated = true;
if (!self.levelTransitionInProgress) {
LK.setScore(LK.getScore() + self.lives * 5);
scoreText.setText(LK.getScore().toString());
self.levelUp();
}
} else if (bubbles.length === 0 && self.lives === 0) {
isGameOver = true;
}
}
}
var skaterCount = skaters.filter(function (entity) {
return !(entity instanceof Snowboarder);
}).length;
if (skaterCount === 0 && bubbles.length === 0 && !self.levelTransitionInitiated && !self.levelTransitionInProgress) {
self.levelCompleted = true;
self.levelTransitionInitiated = true;
LK.setTimeout(function () {
if (!self.levelTransitionInProgress) {
LK.setScore(LK.getScore() + self.lives * 5);
scoreText.setText(LK.getScore().toString());
self.levelUp();
}
}, 500);
}
if (!levelCompleted && self.lives === 0 && bubbles.length === 0 && !isGameOver) {
gameOver = true;
}
if (gameOver) {
isGameOver = true;
LK.effects.flashScreen(0xff0000, 1000);
LK.showGameOver();
}
});
});
green plus sign. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows. pixelated. 8 bit
basketball. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
basketball tube tube. view from the top. seen from above. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
tube. view from the top. seen from above. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
basketball hoop. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
explosion. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
basketball player. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
basketball court. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
circle arena.. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.