User prompt
add another run frame for the palyer
User prompt
maje player run continusly by switching running frames
User prompt
Make player switch between the normal and run frames to create a running animation automaticly and forever
User prompt
make player run automaticly
User prompt
make player always run
User prompt
ajoute 2 frames pour le player dans le jeu pour faire une animation de course
Code edit (1 edits merged)
Please save this source code
User prompt
play bg music all the game
User prompt
use jump sound when jumping
User prompt
Make that I can die also when Im not jumping and touch him
User prompt
fait que si je saute SUR enemy, il s'écrase et disparait mais si je le touche pas par dessus je meurs.
User prompt
masque l'asset player lors du saut
User prompt
simplifie la gestion du saut dans le update
User prompt
simplifie la fonction de saut
Code edit (1 edits merged)
Please save this source code
User prompt
dans player crée playerJumpFrame dès le départ en invisible et change sa visibilitée lors du saut, au lieu de la recrée
User prompt
Set player's alpha to 0 and playerJumpFrame to 1 when clicking
User prompt
Set player's alpha to 0 and playerJumpFrame to 1 when clicking
User prompt
when clicking, set player's alpha to 0 and playerJumpFrame to 1
User prompt
when clicking, set alpha of player to 0
User prompt
when clicking, set alpha of playerJumpFrame to 1
User prompt
when clicking, set alpha of playerJumpFrame to 100
User prompt
hide playerJumpFrame
User prompt
Hide playerJumpFrame 1 second after player jumped
User prompt
Hide playerJumpFrame 1 second after player jumped
/**** * Plugins ****/ var tween = LK.import("@upit/tween.v1"); /**** * Classes ****/ // Define a class for enemies var Enemy = Container.expand(function () { var self = Container.call(this); var enemyGraphics = self.attachAsset('enemy', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 5; self.update = function () { self.x -= self.speed; if (self.x < -50) { self.destroy(); } }; }); //<Assets used in the game will automatically appear here> // Define a class for the player character var Player = Container.expand(function () { var self = Container.call(this); var playerGraphics = self.attachAsset('player', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 5; self.jumpHeight = 30; self.isJumping = false; self.velocityY = 0; self.jumpFrame = self.attachAsset('playerJumpFrame', { anchorX: 0.5, anchorY: 0.5, alpha: 0 // Hide the jump frame by setting alpha to 0 }); self.update = function () { if (self.isJumping) { self.y += self.velocityY; self.velocityY += 0.7; // Decreased gravity effect by 30% self.jumpFrame.alpha = 1; // While jumping, switch to the jump frame if (self.y >= 2732 / 2) { // Ground level self.y = 2732 / 2; self.isJumping = false; self.velocityY = 0; self.jumpFrame.alpha = 0; // When not jumping, switch back to the normal frame // Add a bounce effect tween(self, { scaleX: 1.2, scaleY: 0.8 }, { duration: 100, easing: tween.elasticOut, onFinish: function onFinish() { tween(self, { scaleX: 1, scaleY: 1 }, { duration: 500, easing: tween.elasticOut }); } }); } } }; self.jump = function () { if (!self.isJumping) { self.isJumping = true; self.velocityY = -self.jumpHeight; self.jumpFrame.alpha = 1; // Make jump frame visible } }; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x87CEEB // Sky blue background }); /**** * Game Code ****/ // Import the tween plugin var background = game.addChild(LK.getAsset('background', { anchorX: 0, anchorY: 0 })); background.x = 0; background.y = 0; // Initialize player var player = game.addChild(new Player()); player.x = 2048 / 2; player.y = 2732 / 2; // Initialize enemies var enemies = []; var enemySpawnInterval = 100; var enemySpawnCounter = 0; // Create a new Text2 object to display the score var scoreText = new Text2('0', { size: 100, fill: 0xFFFFFF }); // Add the score text to the game GUI at the top center of the screen LK.gui.top.addChild(scoreText); scoreText.x = 2048 / 2; scoreText.y = 0; // Handle game updates game.update = function () { player.update(); // Spawn enemies enemySpawnCounter++; if (enemySpawnCounter >= enemySpawnInterval) { var enemy = new Enemy(); enemy.x = 2048; enemy.y = 2732 / 2; enemies.push(enemy); game.addChild(enemy); // Randomize the spawn interval for the next enemy enemySpawnInterval = Math.floor(Math.random() * 150) + 50; enemySpawnCounter = 0; } // Update enemies for (var j = enemies.length - 1; j >= 0; j--) { enemies[j].update(); if (player.intersects(enemies[j])) { LK.effects.flashScreen(0xff0000, 1000); LK.showGameOver(); } else if (player.x > enemies[j].x && !enemies[j].passed) { enemies[j].passed = true; LK.setScore(LK.getScore() + 1); scoreText.setText(LK.getScore()); } } }; // Handle player jump game.down = function (x, y, obj) { player.jump(); };
===================================================================
--- original.js
+++ change.js
@@ -41,14 +41,15 @@
self.update = function () {
if (self.isJumping) {
self.y += self.velocityY;
self.velocityY += 0.7; // Decreased gravity effect by 30%
+ self.jumpFrame.alpha = 1; // While jumping, switch to the jump frame
if (self.y >= 2732 / 2) {
// Ground level
self.y = 2732 / 2;
self.isJumping = false;
self.velocityY = 0;
- self.jumpFrame = 0; // Reset jump frame
+ self.jumpFrame.alpha = 0; // When not jumping, switch back to the normal frame
// Add a bounce effect
tween(self, {
scaleX: 1.2,
scaleY: 0.8
@@ -64,15 +65,9 @@
easing: tween.elasticOut
});
}
});
- } else {
- // While jumping, switch to the jump frame
- self.jumpFrame.alpha = 1;
}
- } else {
- // When not jumping, switch back to the normal frame
- self.jumpFrame.alpha = 0;
}
};
self.jump = function () {
if (!self.isJumping) {