User prompt
place the icon in game cover, in the publish stage.
User prompt
Place the hashtags
User prompt
Please fix the bug: 'TypeError: Cannot set properties of undefined (setting 'visible')' in or related to this line: 'skaters[s].heartIcons[skaters[s].health].visible = false;' Line Number: 658
User prompt
Heart icon display to skater 2
User prompt
The skaters_2 have 2 hearts icon (that is, hit twice)
User prompt
Nesses skaters_2 Só falta o move o rotation, e o bounce
User prompt
Aumente o tamanho dos skaters_2 igual aos skaters 1
User prompt
make them look and move like normal skaters
User prompt
Please fix the bug: 'TypeError: skaters[i]._update_migrated is not a function' in or related to this line: 'skaters[i]._update_migrated();' Line Number: 554
User prompt
Place the skater_2 in stage 4
User prompt
Spawn a new skater in level 4
User prompt
Place in snece
User prompt
Add coin fuctions
User prompt
Continue please
User prompt
Make you have 0 coin
User prompt
Place the achievement button in top right, when tapped, shows achievements. in gray: no footprints. normal color: footprints. achievements do not reset after game over
User prompt
Please fix the bug: 'ReferenceError: penguin is not defined' in or related to this line: 'if (bubbles[a].intersects(penguin) && isInIsekaiQuartetPosition(penguin)) {' Line Number: 489
User prompt
Add the achievement 4 (secret) isekai quartet, is when hit the snowball at a penguin in a position of a character positioned in the isekai quartet logo I think this is the hardest one to get.
User prompt
Add the achievement 3, (is the same but is ×5)
User prompt
Place the achievement 2, when make a 3× combo (hitting three skaters at once in a combo)
User prompt
Place the achievement 2, when make a 3× combo (hitting three skaters at once in a combo)
User prompt
No, it's making a combo hitting 3 skaters at once
User prompt
Place the achievement 2, (you know how this might appear)
User prompt
Place in scene plase
User prompt
Place the achievement in top
/**** * Classes ****/ var Bubble = Container.expand(function () { var self = Container.call(this); var bubbleGraphics = self.attachAsset('bubble', { anchorX: 0.5, anchorY: 0.5 }); bubbleGraphics.width *= 0.7; bubbleGraphics.height *= 0.7; self.speed = 45; self._move_migrated = function () { self.x += Math.cos(self.rotation) * self.speed; self.y += Math.sin(self.rotation) * self.speed; }; }); var BubbleUI = Container.expand(function () { var self = Container.call(this); self.bubbles = []; var bubble = self.attachAsset('bubble', { anchorY: 0.5 }); var totalWidth = 4 * (bubble.width + 10) - 10; self.x = (2048 - totalWidth) / 2; for (var i = 0; i < 4; i++) { var bubble = self.attachAsset('bubble', { anchorY: 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 DuckHoldingSign = Container.expand(function () { var self = Container.call(this); var duckGraphics = self.attachAsset('duck_holding_a_sign', { anchorX: 0.5, anchorY: 0.5 }); duckGraphics.width *= 2; duckGraphics.height *= 2; self.visible = false; self.show = function (x, y) { self.x = x; self.y = y; self.visible = true; LK.setTimeout(function () { self.visible = false; }, 1000); }; }); var LifeBar = Container.expand(function () { var self = Container.call(this); var lifeBarGraphics = self.attachAsset('Life_bar', { anchorX: 0.5, anchorY: 0.5 }); self.update = function (life) { lifeBarGraphics.width = life / 10 * 100; }; }); var LifeRestorationAsset = Container.expand(function () { var self = Container.call(this); var lifeRestorationGraphics = self.attachAsset('lifeRestoration', { anchorX: 0.5, anchorY: 0.5 }); self.show = function (x, y) { self.x = x; self.y = y; self.visible = true; LK.setTimeout(function () { self.destroy(); }, 500); }; }); var Penguin = Container.expand(function () { var self = Container.call(this); var penguinGraphics = self.attachAsset('penguin', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 5; self.update = function () { self.y += self.speed; if (self.y > 2732) { self.destroy(); } }; }); var Shooter = Container.expand(function () { var self = Container.call(this); self.rotationAngle = 0; var shooterGraphics = self.attachAsset('cannon', { anchorX: 0.5, anchorY: 1 }); var cannonSize = Math.min(shooterGraphics.width, shooterGraphics.height) * 0.375; shooterGraphics.width = cannonSize; shooterGraphics.height = cannonSize; }); var Skater = Container.expand(function () { var self = Container.call(this); var skaterGraphics = self.attachAsset('skater', { anchorX: 0.5, anchorY: 0.5 }); self.direction = Math.random() * 2 * Math.PI; self.speed = 5; // Increased speed for more dynamic movement self.rotationSpeed = 0.1; // Increased rotation speed for more fluid rotation self.isRotating = false; self.rotateTimer = 0; self.rotateDuration = 30; // Reduced duration for quicker rotations self._move_migrated = 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_migrated = function () { if (self.isRotating) { self.rotation += self.rotationSpeed; 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.05) { // Increased chance to start rotating self.isRotating = true; } self._move_migrated(); for (var i = 0; i < skaters.length; i++) { if (self !== skaters[i] && self.intersects(skaters[i])) { var angle = Math.atan2(skaters[i].y - self.y, skaters[i].x - self.x); self.direction = angle + Math.PI; skaters[i].direction = angle; // Play Bounce sound when skaters touch each other LK.getSound('Bounce').play(); } } 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 Skater2 = Container.expand(function () { var self = Container.call(this); var skaterGraphics = self.attachAsset('Skater_2', { anchorX: 0.5, anchorY: 0.5 }); // Add heart icons to represent health self.health = 2; // Initialize health to 2 for Skater2 self.heartIcons = []; for (var i = 0; i < self.health; i++) { var heartIcon = self.attachAsset('Heart_icon', { anchorX: 0.5, anchorY: 0.5 }); heartIcon.x = (i - (self.health - 1) / 2) * (heartIcon.width + 5); heartIcon.y = -skaterGraphics.height / 2 - heartIcon.height / 2; self.addChild(heartIcon); self.heartIcons.push(heartIcon); } self.health = 2; // Initialize health to 2 for Skater2 self.direction = Math.random() * 2 * Math.PI; self.speed = 5; self.rotationSpeed = 0.1; self.isRotating = false; self.rotateTimer = 0; self.rotateDuration = 30; self._move_migrated = 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_migrated = function () { if (self.isRotating) { self.rotation += self.rotationSpeed; 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.05) { self.isRotating = true; } self._move_migrated(); for (var i = 0; i < skaters.length; i++) { if (self !== skaters[i] && self.intersects(skaters[i])) { var angle = Math.atan2(skaters[i].y - self.y, skaters[i].x - self.x); self.direction = angle + Math.PI; skaters[i].direction = angle; LK.getSound('Bounce').play(); } } 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 Snowboarder = Container.expand(function () { var self = Container.call(this); var snowboarderGraphics = self.attachAsset('snowboarder', { anchorX: 0.5, anchorY: 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_migrated = 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_migrated = 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_migrated(); for (var i = 0; i < skaters.length; i++) { if (self !== skaters[i] && self.intersects(skaters[i])) { var angle = Math.atan2(skaters[i].y - self.y, skaters[i].x - self.x); self.direction = angle + Math.PI; skaters[i].direction = angle; // Play Bounce sound when snowboarders and skaters touch each other LK.getSound('Bounce').play(); } } 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; } }; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x000000 }); /**** * Game Code ****/ var penguin = game.addChild(new Penguin()); penguin.x = 1024; // Center horizontally penguin.y = 100; // Initial vertical position function isInIsekaiQuartetPosition(penguin) { // Define the specific position for the Isekai Quartet logo var isekaiQuartetPosition = { x: 1024, y: 1366 }; // Example position var tolerance = 50; // Allow some tolerance for the position return Math.abs(penguin.x - isekaiQuartetPosition.x) < tolerance && Math.abs(penguin.y - isekaiQuartetPosition.y) < tolerance; } function triggerLevel5Event() { // Define the specific event or behavior for level 5 console.log("Level 5 event triggered!"); // Additional logic for the event can be added here } var skaters = []; var lightShadow = LK.getAsset('Light_shadow', { anchorX: 0.5, anchorY: 0.5 }); lightShadow.width = 2048; lightShadow.height = 2732; lightShadow.x = 2048 / 2; lightShadow.y = 2732 / 2; lightShadow.alpha = 0.5; game.addChildAt(lightShadow, Math.min(3, game.children.length)); LK.playMusic('backgroundMusic', { loop: true }); game.on('move', function (x, y, obj) { game.levelUp = function () { LK.playMusic('backgroundMusic', { loop: true }); game.levelTransitionInProgress = true; game.level++; game.setLives(4); skaters.forEach(function (entity) { if (entity instanceof Snowboarder) { entity.destroy(); } }); skaters = skaters.filter(function (entity) { return !(entity instanceof Snowboarder); }); if (game.level !== 5) { game.spawnSkaters(game.level); } if (game.level === 6) { lightShadow.destroy(); } game.levelTransitionInProgress = false; // Play NewRound sound when a new round starts LK.getSound('NewRound').play(); game.levelTransitionInitiated = false; }; var event = obj; var pos = game.toLocal(event.global); var angle = Math.atan2(pos.y - shooter.y, pos.x - shooter.x) + Math.PI / 2; shooter.rotation = angle; }); game.on('up', function (x, y, obj) { if (game.lives > 0 && !game.levelTransitionInitiated && !game.levelTransitionInProgress) { var event = obj; var pos = game.toLocal(event.global); var newBubble = game.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 (game.lives > 0) { game.lives--; // Play Snowball sound LK.getSound('Snowball').play(); } bubbleUI.updateBubbles(game.lives); } }); game.level = 1; game.levelTransitionInitiated = false; game.levelTransitionInProgress = false; var bubbleUI = game.addChild(new BubbleUI()); game.setLives = function (lives) { game.lives = lives; bubbleUI.updateBubbles(game.lives); }; game.setLives(4); game.score = 0; game.coins = 0; // Initialize coins to 0 // Function to add coins game.addCoins = function (amount) { game.coins += amount; console.log("Coins collected: " + game.coins); }; // Function to spend coins game.spendCoins = function (amount) { if (game.coins >= amount) { game.coins -= amount; console.log("Coins spent: " + amount + ". Remaining coins: " + game.coins); return true; } else { console.log("Not enough coins. Current coins: " + game.coins); return false; } }; // Example usage: Add 10 coins when a skater is hit game.onSkaterHit = function () { game.addCoins(10); }; var scoreText = new Text2(game.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.top.addChild(scoreText); // Add game icon to the game cover var gameIcon = LK.getAsset('Coin_icon', { anchorX: 0.5, anchorY: 0.5 }); gameIcon.x = 1024; // Center horizontally gameIcon.y = 1366; // Center vertically LK.gui.center.addChild(gameIcon); // Add coin icon var coinIcon = LK.getAsset('Coin_icon', { anchorX: 0.5, anchorY: 0.5 }); coinIcon.x = 1800; coinIcon.y = 50; LK.gui.top.addChild(coinIcon); // Display coin count var coinText = new Text2(game.coins.toString(), { size: 100, fill: "#ffffff", stroke: "#075079", strokeThickness: 8, font: "'Luckiest Guy', 'Arial Black', sans-serif" }); coinText.anchor.set(0, 0.5); coinText.x = 1850; coinText.y = 50; LK.gui.top.addChild(coinText); // Update coin text whenever coins are added or spent game.updateCoinDisplay = function () { coinText.setText(game.coins.toString()); }; // Example usage: Update coin display when coins are added or spent game.addCoins = function (amount) { game.coins += amount; game.updateCoinDisplay(); console.log("Coins collected: " + game.coins); }; game.spendCoins = function (amount) { if (game.coins >= amount) { game.coins -= amount; game.updateCoinDisplay(); console.log("Coins spent: " + amount + ". Remaining coins: " + game.coins); return true; } else { console.log("Not enough coins. Current coins: " + game.coins); return false; } }; game.spawnSkaters = function (level) { for (var i = 0; i < (level === 4 ? level + 3 : level + 2); i++) { var skater = level === 4 ? game.addChild(new Skater2()) : game.addChild(new Skater()); if (level === 4) { skater.width = 250; skater.height = 282.08; } 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((game.level - 1) / 2)); for (var sb = 0; sb < numberOfSnowboarders; sb++) { var snowboarder = game.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; game.levelCompleted = true; if (game.level === 5) { lightShadow.visible = true; // Trigger event specific to level 5 triggerLevel5Event(); } else { lightShadow.visible = false; } if (!game.levelTransitionInitiated) { game.spawnSkaters(game.level); } var backgroundLayer2 = game.attachAsset('backgroundLayer2', { anchorX: 0.5, anchorY: 0.5 }); backgroundLayer2.width = 2048; backgroundLayer2.height = 2732; backgroundLayer2.x = 2048 / 2; backgroundLayer2.y = 2732 / 2; game.addChildAt(backgroundLayer2, 0); var background = game.attachAsset('background', { anchorX: 0.5, anchorY: 0.5 }); background.width = 2048; background.height = 2732; background.x = 2048 / 2; background.y = 2732 / 2; game.addChildAt(background, 1); var achievementButton = LK.getAsset('Button_achivements', { anchorX: 1.0, anchorY: 0.0 }); achievementButton.x = 2048; achievementButton.y = 0; LK.gui.topRight.addChild(achievementButton); var achievementsDisplayed = false; var achievements = []; achievementButton.on('down', function (x, y, obj) { achievementsDisplayed = !achievementsDisplayed; achievements.forEach(function (achievement) { achievement.visible = achievementsDisplayed; }); }); function showAchievement(assetId, x, y) { var achievement = LK.getAsset(assetId, { anchorX: 0.5, anchorY: 0.5 }); achievement.x = x; achievement.y = y; achievement.visible = achievementsDisplayed; LK.gui.top.addChild(achievement); achievements.push(achievement); } var bubbles = []; var bubbleHitEdge = false; var shooter = game.addChild(new Shooter()); var duckHoldingSign = game.addChild(new DuckHoldingSign()); duckHoldingSign.x = 2048 - duckHoldingSign.width / 2; duckHoldingSign.y = 2732 - duckHoldingSign.height / 2; duckHoldingSign.visible = true; var currentCombo = 0; var basePitch = 1.0; // Base pitch for the sound var pitchIncrement = 0.1; // Incremental pitch increase per combo var lastBubbleHit = false; shooter.x = 2048 / 2; shooter.y = 2732 / 2; var circle = game.attachAsset('circle', { anchorX: 0.5, anchorY: 0.5 }); circle.width = 600; circle.height = 600; circle.alpha = 1; circle.x = 2048 / 2; circle.y = 2732 / 2; game.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++) { if (skaters[i] instanceof Skater || skaters[i] instanceof Snowboarder) { skaters[i]._update_migrated(); } } for (var a = bubbles.length - 1; a >= 0; a--) { bubbles[a]._move_migrated(); 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 = game.attachAsset('explosion', { anchorX: 0.5, anchorY: 0.5 }); explosion.x = skaters[s].x; explosion.y = skaters[s].y; game.addChild(explosion); LK.setTimeout(function () { explosion.destroy(); }, 100); // Play Hit sound when an enemy dies with increased pitch based on combo var hitSound = LK.getSound('Hit'); hitSound.playbackRate = basePitch + currentCombo * pitchIncrement; hitSound.play(); if (skaters[s] instanceof Skater2 && skaters[s].heartIcons) { skaters[s].health -= 1; // Decrease health by 1 if (skaters[s].health <= 0) { skaters[s].destroy(); skaters.splice(s, 1); } else { // Update heart icons skaters[s].heartIcons[skaters[s].health].visible = false; } } else { 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 (bubbles[a].intersects(penguin) && isInIsekaiQuartetPosition(penguin)) { // Display secret achievement for hitting a penguin in the Isekai Quartet position showAchievement('achievement_4_secret', 2048 / 2, 200); } if (skaterScore === 3) { // Display achievement for making a 3x combo showAchievement('achievement_2', 2048 / 2, 100); } else if (skaterScore === 5) { // Display achievement for making a 5x combo showAchievement('achievement_3', 2048 / 2, 150); } if (game.lives < 4) { game.lives++; // Play Regen sound when a life is refilled LK.getSound('Regen').play(); bubbleUI.updateBubbles(game.lives); } currentCombo++; if (skaters[s]) { duckHoldingSign.show(skaters[s].x, skaters[s].y); } } else { currentCombo = 0; } 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; if (!bubbles[a].skatersHit || bubbles[a].skatersHit.length < 2) { currentCombo = 0; } bubbles[a].destroy(); bubbles.splice(a, 1); var skaterCount = skaters.filter(function (entity) { return !(entity instanceof Snowboarder); }).length; if (skaterCount === 0 && !game.levelTransitionInitiated && !game.levelTransitionInProgress) { game.levelCompleted = true; game.levelTransitionInitiated = true; if (!game.levelTransitionInProgress) { LK.setScore(LK.getScore() + game.lives * 5); scoreText.setText(LK.getScore().toString()); game.levelUp(); } } else if (bubbles.length === 0 && game.lives === 0) { isGameOver = true; } } } var skaterCount = skaters.filter(function (entity) { return !(entity instanceof Snowboarder); }).length; if (skaterCount === 0 && bubbles.length === 0 && !game.levelTransitionInitiated && !game.levelTransitionInProgress) { game.levelCompleted = true; game.levelTransitionInitiated = true; LK.setTimeout(function () { if (!game.levelTransitionInProgress) { LK.setScore(LK.getScore() + game.lives * 5); scoreText.setText(LK.getScore().toString()); game.levelUp(); } }, 500); } if (!levelCompleted && game.lives === 0 && bubbles.length === 0 && !isGameOver) { gameOver = true; } if (gameOver) { isGameOver = true; LK.effects.flashScreen(0xff0000, 1000); if (game.level === 1) { // Display achievement for losing in stage 1 showAchievement('achievement_1', 2048 / 2, 50); } LK.showGameOver(); } });
===================================================================
--- original.js
+++ change.js
@@ -193,16 +193,8 @@
heartIcon.x = (i - (self.health - 1) / 2) * (heartIcon.width + 5);
heartIcon.y = -skaterGraphics.height / 2 - heartIcon.height / 2;
self.addChild(heartIcon);
self.heartIcons.push(heartIcon);
- // Add hashtag icon
- var hashtagIcon = self.attachAsset('hashtag', {
- anchorX: 0.5,
- anchorY: 0.5
- });
- hashtagIcon.x = 0;
- hashtagIcon.y = -skaterGraphics.height / 2 - heartIcon.height - hashtagIcon.height / 2;
- self.addChild(hashtagIcon);
}
self.health = 2; // Initialize health to 2 for Skater2
self.direction = Math.random() * 2 * Math.PI;
self.speed = 5;
@@ -441,8 +433,16 @@
font: "'Luckiest Guy', 'Arial Black', sans-serif"
});
scoreText.anchor.set(0.5, 0);
LK.gui.top.addChild(scoreText);
+// Add game icon to the game cover
+var gameIcon = LK.getAsset('Coin_icon', {
+ anchorX: 0.5,
+ anchorY: 0.5
+});
+gameIcon.x = 1024; // Center horizontally
+gameIcon.y = 1366; // Center vertically
+LK.gui.center.addChild(gameIcon);
// Add coin icon
var coinIcon = LK.getAsset('Coin_icon', {
anchorX: 0.5,
anchorY: 0.5
@@ -627,19 +627,8 @@
skaters.splice(s, 1);
} else {
// Update heart icons
skaters[s].heartIcons[skaters[s].health].visible = false;
- // Display hashtag icon
- var hashtagIcon = skaters[s].attachAsset('hashtag', {
- anchorX: 0.5,
- anchorY: 0.5
- });
- hashtagIcon.x = skaters[s].x;
- hashtagIcon.y = skaters[s].y - skaters[s].height / 2 - hashtagIcon.height / 2;
- game.addChild(hashtagIcon);
- LK.setTimeout(function () {
- hashtagIcon.destroy();
- }, 500);
}
} else {
skaters[s].destroy();
skaters.splice(s, 1);
floor of an ice skating ring. top-view. seen from above. Single Game Texture. In-Game asset. 2d. High contrast. No shadows. pixelated.8 bit. game background
snowboarder. top-view. gta 2. seen from above. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows. pixelated. 8 bit
snowball. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows. pixelated. 8 bit
frosty pipe tube. top-view. seen from above. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows. pixelated. 8-bit
dusty snow puff. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows. pixelated. 8 bit
green plus sign. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows. pixelated. 8 bit
frost circle arena. seen from above. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows. pixelated. 8 bit
angry penguin snowboarder wearing a red santa hat. top-view. gta 2. seen from above. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows. pixelated. 8 bit
angry penguin snowboarder wearing a red santa hat. top-view. gta 2. seen from above. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows. pixelated. 8 bit
duck holding a sign written "combo". Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows. duck holding a sign written "combo". Cartoon.
Giant angry penguin snowboarder wearing a red santa hat. top-view. gta 2. seen from above. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows. pixelated. 8 bit. A
8-bit Pinguin_skater_features. Make a text written above (your way). A
Make a 8-bit achievement. Title:cool, being embarrassed. description:lose in stage 1
Make a 8-bit achievement. Title:I'm enjoying watching! description:make a ×3 hit combo
Make a 8-bit achievement. Title:poor duck! description:make a ×5 hit combo
Make a 8-bit secret achievement. Title:isekai quartet description:hit the snowball at a penguin in a position of a character positioned in the isekai quartet logo
Make a button achievements. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Coin icon. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Heart icon. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.