/**** * Classes ****/ var Bullet = Container.expand(function () { var self = Container.call(this); var bulletGraphics = self.attachAsset('bullet', { anchorX: 0, anchorY: 0.6, scaleX: 4, scaleY: 4 }); self.speed = 10; self.update = function () { self.x += self.speed; if (self.x < 0) { self.destroy(); } }; }); var Enemy = Container.expand(function () { var self = Container.call(this); var enemyGraphics = self.attachAsset('enemy', { anchorX: 0.5, anchorY: 0.5, scaleX: 2, scaleY: 2 }); self.speed = -15; self.update = function () { self.x += self.speed; if (self.x < 0) { self.destroy(); } }; }); var Ground = Container.expand(function () { var self = Container.call(this); var groundGraphics = self.attachAsset('ground', { anchorX: 0.5, anchorY: 0.5, scaleX: 3, // Scale horizontally by 1.2 scaleY: 3 // Scale vertically by 1.2 }); self.update = function () { // Ground moves from right to left self.x -= 5; if (self.x + self.width < 0) { self.x = 2048; } }; }); var Player = Container.expand(function () { var self = Container.call(this); var playerGraphics = self.attachAsset('player', { anchorX: 0.5, anchorY: 0.5, scaleX: 3, // Scale horizontally by 1.2 scaleY: 3 // Scale vertically by 1.2 }); self.speed = 5; self.update = function () { if (self.x < 0) { self.x = 0; } if (self.x > 300) { self.x = 300; } // Player only moves horizontally }; }); /**** * Initialize Game ****/ var game = new LK.Game(); /**** * Game Code ****/ var background1 = game.addChild(LK.getAsset('background', { anchorX: 0.5, anchorY: 0.5, x: 1024, y: 1366, width: 2048, height: 2732 })); var background2 = game.addChild(LK.getAsset('background', { anchorX: 0.5, anchorY: 0.5, x: 3072, y: 1366, width: 2048, height: 2732 })); var ground = game.addChild(new Ground()); ground.x = 1024; ground.y = 2732 - 200; // Move the ground asset a little bit up from the bottom of the screen var player = game.addChild(new Player()); player.x = 1024; player.y = ground.y - player.height; var enemies = []; var bullets = []; game.update = function () { background1.x -= 5; background2.x -= 5; if (background1.x <= -1024) { background1.x = background2.x + 2048; } if (background2.x <= -1024) { background2.x = background1.x + 2048; } if (LK.ticks % 25 == 0) { var enemy = game.addChild(new Enemy()); enemy.x = 2048; enemy.y = Math.random() * 2732; enemies.push(enemy); } for (var i = bullets.length - 1; i >= 0; i--) { var bullet = bullets[i]; if (bullet.x > 2048) { bullet.destroy(); bullets.splice(i, 1); continue; } for (var j = enemies.length - 1; j >= 0; j--) { var enemy = enemies[j]; if (bullet.intersects(enemy)) { bullet.destroy(); bullets.splice(i, 1); enemy.destroy(); enemies.splice(j, 1); // Increase the score by 1 LK.setScore(LK.getScore() + 1); // Update the score text with a dynamic effect scoreText.setText('Germs: ' + LK.getScore()); scoreText.scale.set(1.5); // Increase the size of the score text LK.setTimeout(function () { scoreText.scale.set(1); // Reset the size of the score text after 100ms }, 100); scoreText.tint = Math.random() * 0xFFFFFF; // Change the color of the score text randomly break; } } if (bullets.length < 1 || enemies.length < 1) { break; } } // Check if enemy goes past the player for (var i = enemies.length - 1; i >= 0; i--) { var enemy = enemies[i]; if (enemy.x < player.x) { enemy.destroy(); enemies.splice(i, 1); // End the game if an enemy passes the player LK.showGameOver(); } } }; game.down = function (x, y, obj) { if (bullets.length < 10) { var bullet = game.addChild(new Bullet()); bullet.x = player.x; bullet.y = player.y; bullets.push(bullet); // Play a sound when bullet is fired LK.getSound('shoot').play(); } }; // Create a score text var scoreText = new Text2('Score: 0', { size: 100, fill: 0x00FF00 }); scoreText.anchor.set(0.5, 0); LK.gui.top.addChild(scoreText); game.move = function (x, y, obj) { player.y = y; };
===================================================================
--- original.js
+++ change.js
@@ -1,90 +1,181 @@
-/****
+/****
* Classes
-****/
-//<Assets used in the game will automatically appear here>
-//<Write imports for supported plugins here>
-// Harpic class representing the main character
-var Harpic = Container.expand(function () {
- var self = Container.call(this);
- var harpicGraphics = self.attachAsset('harpic', {
- anchorX: 0.5,
- anchorY: 0.5
- });
- self.speed = 10;
- self.update = function () {
- // Update logic for Harpic
- };
+****/
+var Bullet = Container.expand(function () {
+ var self = Container.call(this);
+ var bulletGraphics = self.attachAsset('bullet', {
+ anchorX: 0,
+ anchorY: 0.6,
+ scaleX: 4,
+ scaleY: 4
+ });
+ self.speed = 10;
+ self.update = function () {
+ self.x += self.speed;
+ if (self.x < 0) {
+ self.destroy();
+ }
+ };
});
-// Obstacle class representing obstacles in the game
-var Obstacle = Container.expand(function () {
- var self = Container.call(this);
- var obstacleGraphics = self.attachAsset('obstacle', {
- anchorX: 0.5,
- anchorY: 0.5
- });
- self.update = function () {
- // Update logic for Obstacle
- };
+var Enemy = Container.expand(function () {
+ var self = Container.call(this);
+ var enemyGraphics = self.attachAsset('enemy', {
+ anchorX: 0.5,
+ anchorY: 0.5,
+ scaleX: 2,
+ scaleY: 2
+ });
+ self.speed = -15;
+ self.update = function () {
+ self.x += self.speed;
+ if (self.x < 0) {
+ self.destroy();
+ }
+ };
});
+var Ground = Container.expand(function () {
+ var self = Container.call(this);
+ var groundGraphics = self.attachAsset('ground', {
+ anchorX: 0.5,
+ anchorY: 0.5,
+ scaleX: 3,
+ // Scale horizontally by 1.2
+ scaleY: 3 // Scale vertically by 1.2
+ });
+ self.update = function () {
+ // Ground moves from right to left
+ self.x -= 5;
+ if (self.x + self.width < 0) {
+ self.x = 2048;
+ }
+ };
+});
+var Player = Container.expand(function () {
+ var self = Container.call(this);
+ var playerGraphics = self.attachAsset('player', {
+ anchorX: 0.5,
+ anchorY: 0.5,
+ scaleX: 3,
+ // Scale horizontally by 1.2
+ scaleY: 3 // Scale vertically by 1.2
+ });
+ self.speed = 5;
+ self.update = function () {
+ if (self.x < 0) {
+ self.x = 0;
+ }
+ if (self.x > 300) {
+ self.x = 300;
+ }
+ // Player only moves horizontally
+ };
+});
-/****
+/****
* Initialize Game
-****/
-var game = new LK.Game({
- backgroundColor: 0x000000 //Init game with black background
-});
+****/
+var game = new LK.Game();
-/****
+/****
* Game Code
-****/
-// Initialize Harpic
-var harpic = game.addChild(new Harpic());
-harpic.x = 2048 / 2;
-harpic.y = 2732 - 200;
-// Initialize obstacles array
-var obstacles = [];
-// Function to create a new obstacle
-function createObstacle() {
- var obstacle = new Obstacle();
- obstacle.x = Math.random() * 2048;
- obstacle.y = 0;
- obstacles.push(obstacle);
- game.addChild(obstacle);
-}
-// Game update function
+****/
+var background1 = game.addChild(LK.getAsset('background', {
+ anchorX: 0.5,
+ anchorY: 0.5,
+ x: 1024,
+ y: 1366,
+ width: 2048,
+ height: 2732
+}));
+var background2 = game.addChild(LK.getAsset('background', {
+ anchorX: 0.5,
+ anchorY: 0.5,
+ x: 3072,
+ y: 1366,
+ width: 2048,
+ height: 2732
+}));
+var ground = game.addChild(new Ground());
+ground.x = 1024;
+ground.y = 2732 - 200; // Move the ground asset a little bit up from the bottom of the screen
+var player = game.addChild(new Player());
+player.x = 1024;
+player.y = ground.y - player.height;
+var enemies = [];
+var bullets = [];
game.update = function () {
- // Update Harpic
- harpic.update();
- // Update obstacles
- for (var i = obstacles.length - 1; i >= 0; i--) {
- var obstacle = obstacles[i];
- obstacle.y += 5; // Move obstacle downwards
- obstacle.update();
- // Check for collision with Harpic
- if (harpic.intersects(obstacle)) {
- // Handle collision (e.g., end game)
- LK.showGameOver();
- }
- // Remove off-screen obstacles
- if (obstacle.y > 2732) {
- obstacle.destroy();
- obstacles.splice(i, 1);
- }
- }
- // Create new obstacles periodically
- if (LK.ticks % 60 === 0) {
- createObstacle();
- }
+ background1.x -= 5;
+ background2.x -= 5;
+ if (background1.x <= -1024) {
+ background1.x = background2.x + 2048;
+ }
+ if (background2.x <= -1024) {
+ background2.x = background1.x + 2048;
+ }
+ if (LK.ticks % 25 == 0) {
+ var enemy = game.addChild(new Enemy());
+ enemy.x = 2048;
+ enemy.y = Math.random() * 2732;
+ enemies.push(enemy);
+ }
+ for (var i = bullets.length - 1; i >= 0; i--) {
+ var bullet = bullets[i];
+ if (bullet.x > 2048) {
+ bullet.destroy();
+ bullets.splice(i, 1);
+ continue;
+ }
+ for (var j = enemies.length - 1; j >= 0; j--) {
+ var enemy = enemies[j];
+ if (bullet.intersects(enemy)) {
+ bullet.destroy();
+ bullets.splice(i, 1);
+ enemy.destroy();
+ enemies.splice(j, 1);
+ // Increase the score by 1
+ LK.setScore(LK.getScore() + 1);
+ // Update the score text with a dynamic effect
+ scoreText.setText('Germs: ' + LK.getScore());
+ scoreText.scale.set(1.5); // Increase the size of the score text
+ LK.setTimeout(function () {
+ scoreText.scale.set(1); // Reset the size of the score text after 100ms
+ }, 100);
+ scoreText.tint = Math.random() * 0xFFFFFF; // Change the color of the score text randomly
+ break;
+ }
+ }
+ if (bullets.length < 1 || enemies.length < 1) {
+ break;
+ }
+ }
+ // Check if enemy goes past the player
+ for (var i = enemies.length - 1; i >= 0; i--) {
+ var enemy = enemies[i];
+ if (enemy.x < player.x) {
+ enemy.destroy();
+ enemies.splice(i, 1);
+ // End the game if an enemy passes the player
+ LK.showGameOver();
+ }
+ }
};
-// Handle touch/mouse events for moving Harpic
game.down = function (x, y, obj) {
- harpic.x = x;
- harpic.y = y;
+ if (bullets.length < 10) {
+ var bullet = game.addChild(new Bullet());
+ bullet.x = player.x;
+ bullet.y = player.y;
+ bullets.push(bullet);
+ // Play a sound when bullet is fired
+ LK.getSound('shoot').play();
+ }
};
+// Create a score text
+var scoreText = new Text2('Score: 0', {
+ size: 100,
+ fill: 0x00FF00
+});
+scoreText.anchor.set(0.5, 0);
+LK.gui.top.addChild(scoreText);
game.move = function (x, y, obj) {
- harpic.x = x;
- harpic.y = y;
-};
-game.up = function (x, y, obj) {
- // Stop moving Harpic
+ player.y = y;
};
\ No newline at end of file
make a cartoony enemy germs.. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
character with vaccum gun aiming front In-Game asset.. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
green germs splash out. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
cartoony art style single tree. In-Game asset. Blank background. High contrast.