User prompt
karakter zıplıyorken bir bool oluştur true yap yere geldiğinde zıplamayı false yap oyuncu ekrana tıkladığında veya basılı tutuğun zıplaması için zıplama durumunun false olması gereksin
User prompt
karaket zemine dokunmadan tekrar zıplayamsın
User prompt
karkter zıplama halindeyken bir daha zıplamasın yere inince tekrar zıplayabilsin
User prompt
düşman sadece player havadayken ilerlicek yerde olduğunda durucak
Code edit (1 edits merged)
Please save this source code
Code edit (1 edits merged)
Please save this source code
User prompt
yerçekimini artır
User prompt
yerçekimini azalt
User prompt
yerçekimi yüzde 50 azalt
User prompt
karaktere yer çekimi ekle
User prompt
Oyuncu ekrana basılı tuttukça karakterin zıplama gücü artar. Parmağını kaldırdığı anda karakter, toplanan güce göre yukarı zıplar. Ne kadar uzun basarsa o kadar yükseğe sıçrar (örnek: 0.5 sn = 100 piksel, 1 sn = 250 piksel).
User prompt
zıplamayla alakalı bütün kodları sil
User prompt
oyuncu zemine düştükten sonra tekrar zıplayabilecek
User prompt
ekrana ne kadar basılı tutulursa karakter okadar zıplyacak ekranın alt kısmında zıplamanın gücünü göstericek bir bar olucak zıplamanında bir sınırı olucak
Remix started
Copy Mario vs Monsters
/**** * 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 = 40; self.isJumping = false; self.velocityY = 0; self.update = function () { if (self.isJumping) { self.y += self.velocityY; self.velocityY += 0.7; // Decreased gravity effect by 30% if (self.y >= 2732 / 2) { // Ground level self.y = 2732 / 2; self.isJumping = false; self.velocityY = 0; } } }; self.jump = function () { self.jump = function () { if (!self.isJumping) { self.isJumping = true; self.jumpHeight = powerBar.width / 100; // Update the player's jump height based on the power bar's width self.velocityY = -self.jumpHeight; } }; if (!self.isJumping) { self.isJumping = true; self.velocityY = -self.jumpHeight; } }; }); // Define a class for the power bar var PowerBar = Container.expand(function () { var self = Container.call(this); self.width = 0; self.height = 20; self.color = 0x00FF00; self.update = function () { self.width = game.holdTime; if (self.width > 2048) { self.width = 2048; } }; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x87CEEB // Sky blue background }); /**** * Game Code ****/ 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()); // Initialize power bar var powerBar = game.addChild(new PowerBar()); powerBar.y = 2732 - powerBar.height; 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 // Handle player jump game.up = function (x, y, obj) { game.holding = false; player.jump(); }; 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 hold time if (game.holding) { game.holdTime++; } // 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) { game.holdTime = 0; game.holding = true; };
===================================================================
--- original.js
+++ change.js
@@ -40,14 +40,34 @@
}
}
};
self.jump = function () {
+ self.jump = function () {
+ if (!self.isJumping) {
+ self.isJumping = true;
+ self.jumpHeight = powerBar.width / 100; // Update the player's jump height based on the power bar's width
+ self.velocityY = -self.jumpHeight;
+ }
+ };
if (!self.isJumping) {
self.isJumping = true;
self.velocityY = -self.jumpHeight;
}
};
});
+// Define a class for the power bar
+var PowerBar = Container.expand(function () {
+ var self = Container.call(this);
+ self.width = 0;
+ self.height = 20;
+ self.color = 0x00FF00;
+ self.update = function () {
+ self.width = game.holdTime;
+ if (self.width > 2048) {
+ self.width = 2048;
+ }
+ };
+});
/****
* Initialize Game
****/
@@ -65,8 +85,11 @@
background.x = 0;
background.y = 0;
// Initialize player
var player = game.addChild(new Player());
+// Initialize power bar
+var powerBar = game.addChild(new PowerBar());
+powerBar.y = 2732 - powerBar.height;
player.x = 2048 / 2;
player.y = 2732 / 2;
// Initialize enemies
var enemies = [];
@@ -74,15 +97,20 @@
var enemySpawnCounter = 0;
// Create a new Text2 object to display the score
var scoreText = new Text2('0', {
size: 100,
- fill: "#ffffff"
+ 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
+// Handle player jump
+game.up = function (x, y, obj) {
+ game.holding = false;
+ player.jump();
+};
game.update = function () {
player.update();
// Spawn enemies
enemySpawnCounter++;
@@ -95,8 +123,12 @@
// Randomize the spawn interval for the next enemy
enemySpawnInterval = Math.floor(Math.random() * 150) + 50;
enemySpawnCounter = 0;
}
+ // Update hold time
+ if (game.holding) {
+ game.holdTime++;
+ }
// Update enemies
for (var j = enemies.length - 1; j >= 0; j--) {
enemies[j].update();
if (player.intersects(enemies[j])) {
@@ -110,6 +142,7 @@
}
};
// Handle player jump
game.down = function (x, y, obj) {
- player.jump();
+ game.holdTime = 0;
+ game.holding = true;
};
\ No newline at end of file