User prompt
Havadaki sağda duran platformu biraz daha soldakine yaklaştırır mısın
User prompt
Havada görünmez duvar var gibi bir seviyeyi geçemiyor karakter sadece platformun içinden geçmemesi gerkiyordu
User prompt
Karakter havadaki platformların içinden geçmemeki bir de platformları biraz daha alçaltabilir misin
User prompt
Karakterin zıplama gücünü biraz arttır
User prompt
Karakter oraya kadar zıplayamıyor biraz alçaltabilir misin
User prompt
Karakterin zıplayabileceği yerlere havaya 2 küçük platform ekleyebilir misin
User prompt
Platform da ekranın enini tamamen kaplasın bir boşluk olmasın
User prompt
D padi büyütür müsün bir de ekranın sol tarafından düşman gelmesin
User prompt
Ekranın sol alt köşesine d pad ekler misin
User prompt
Dpad asseti assetlerde gözüküyor fakat oyunda gözükmüyor bir bakar mısın
User prompt
Düzelmedi
User prompt
Bir d pad yok ve bu yüzden karakter hareket etmiyor
Code edit (1 edits merged)
Please save this source code
User prompt
Platform Stomper
Initial prompt
Senden 2d bir oyun isteyeceğim bu oyunda bir platform üzerinde olan bir karakter olacak bu karaktere saldıran düşmanlar olacak eğer karakterimiz bu düşmanların üstüne değerse onları öldürür eğer başka bir yere değerse o ölür. Bir de karakterin hareketi için ekranın sol tarafına bir D-pad ekler misin
/**** * Plugins ****/ var tween = LK.import("@upit/tween.v1"); /**** * Classes ****/ var DPad = Container.expand(function () { var self = Container.call(this); var dpadBase = self.attachAsset('dpadBase', { anchorX: 0.5, anchorY: 0.5 }); var leftButton = self.attachAsset('dpadButton', { anchorX: 0.5, anchorY: 0.5, x: -60, y: 0 }); var rightButton = self.attachAsset('dpadButton', { anchorX: 0.5, anchorY: 0.5, x: 60, y: 0 }); var upButton = self.attachAsset('dpadButton', { anchorX: 0.5, anchorY: 0.5, x: 0, y: -60 }); self.leftPressed = false; self.rightPressed = false; self.upPressed = false; leftButton.down = function () { self.leftPressed = true; leftButton.alpha = 0.5; }; leftButton.up = function () { self.leftPressed = false; leftButton.alpha = 1.0; }; rightButton.down = function () { self.rightPressed = true; rightButton.alpha = 0.5; }; rightButton.up = function () { self.rightPressed = false; rightButton.alpha = 1.0; }; upButton.down = function () { self.upPressed = true; upButton.alpha = 0.5; player.jump(); }; upButton.up = function () { self.upPressed = false; upButton.alpha = 1.0; }; self.update = function () { if (self.leftPressed) { player.moveLeft(); } if (self.rightPressed) { player.moveRight(); } }; return self; }); var Enemy = Container.expand(function () { var self = Container.call(this); var enemyGraphics = self.attachAsset('enemy', { anchorX: 0.5, anchorY: 1.0 }); self.velocityX = 0; self.velocityY = 0; self.onGround = false; self.speed = 2; self.gravity = 0.8; self.direction = 1; self.update = function () { // Apply gravity self.velocityY += self.gravity; // Move toward player if (player.x < self.x) { self.velocityX = -self.speed; self.direction = -1; } else { self.velocityX = self.speed; self.direction = 1; } // Apply velocity self.x += self.velocityX; self.y += self.velocityY; // Check platform collisions self.onGround = false; for (var i = 0; i < platforms.length; i++) { var plat = platforms[i]; var platLeft = plat.obj.x - plat.width / 2; var platRight = plat.obj.x + plat.width / 2; // Check if enemy is within platform bounds horizontally if (self.x >= platLeft && self.x <= platRight) { // Check collision from above (landing on platform) if (self.y >= plat.y && self.y <= plat.y + 30 && self.velocityY >= 0) { self.y = plat.y; self.velocityY = 0; self.onGround = true; break; } } } // Keep enemy on main platform only if (self.x < 40) { self.x = 40; } if (self.x > 2008) { self.x = 2008; } }; return self; }); var Player = Container.expand(function () { var self = Container.call(this); var playerGraphics = self.attachAsset('player', { anchorX: 0.5, anchorY: 1.0 }); self.velocityX = 0; self.velocityY = 0; self.onGround = false; self.speed = 8; self.jumpPower = -18; self.gravity = 0.8; self.update = function () { // Apply gravity self.velocityY += self.gravity; // Apply velocity self.x += self.velocityX; self.y += self.velocityY; // Check platform collisions self.onGround = false; for (var i = 0; i < platforms.length; i++) { var plat = platforms[i]; var platLeft = plat.obj.x - plat.width / 2; var platRight = plat.obj.x + plat.width / 2; // Check if player is within platform bounds horizontally if (self.x >= platLeft && self.x <= platRight) { // Check collision from above (landing on platform) if (self.y >= plat.y && self.y <= plat.y + 30 && self.velocityY >= 0) { self.y = plat.y; self.velocityY = 0; self.onGround = true; break; } } } // Keep player on screen if (self.x < 40) { self.x = 40; } if (self.x > 2008) { self.x = 2008; } // Apply friction self.velocityX *= 0.8; }; self.moveLeft = function () { self.velocityX = -self.speed; }; self.moveRight = function () { self.velocityX = self.speed; }; self.jump = function () { if (self.onGround) { self.velocityY = self.jumpPower; self.onGround = false; } }; return self; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x87CEEB }); /**** * Game Code ****/ var platformY = 2500; var enemies = []; var enemySpawnTimer = 0; var enemySpawnRate = 120; var gameSpeed = 1; var platforms = []; // Create main platform var platform = game.addChild(LK.getAsset('platform', { anchorX: 0.5, anchorY: 0.5, x: 1024, y: platformY + 50 })); platforms.push({ obj: platform, y: platformY, width: 2048 }); // Create first floating platform var floatingPlatform1 = game.addChild(LK.getAsset('smallPlatform', { anchorX: 0.5, anchorY: 0.5, x: 600, y: platformY - 150 })); platforms.push({ obj: floatingPlatform1, y: platformY - 180, width: 300 }); // Create second floating platform var floatingPlatform2 = game.addChild(LK.getAsset('smallPlatform', { anchorX: 0.5, anchorY: 0.5, x: 1000, y: platformY - 250 })); platforms.push({ obj: floatingPlatform2, y: platformY - 280, width: 300 }); // Create player var player = game.addChild(new Player()); player.x = 1024; player.y = platformY; // Create D-pad var dpad = new DPad(); dpad.x = 150; dpad.y = -150; dpad.scaleX = 1.5; dpad.scaleY = 1.5; LK.gui.bottomLeft.addChild(dpad); // Create score display var scoreTxt = new Text2('Score: 0', { size: 80, fill: 0xFFFFFF }); scoreTxt.anchor.set(0.5, 0); LK.gui.top.addChild(scoreTxt); function spawnEnemy() { var enemy = new Enemy(); // Only spawn enemies from the right side enemy.x = 2024; enemy.y = platformY; enemy.lastIntersecting = false; enemies.push(enemy); game.addChild(enemy); } function checkCollisions() { for (var i = enemies.length - 1; i >= 0; i--) { var enemy = enemies[i]; if (player.intersects(enemy)) { // Check if player is above enemy (stomping) var playerBottom = player.y; var enemyTop = enemy.y - 60; var playerVelocityY = player.velocityY; if (playerBottom <= enemyTop + 20 && playerVelocityY >= 0) { // Player stomped enemy LK.getSound('stomp').play(); LK.setScore(LK.getScore() + 10); scoreTxt.setText('Score: ' + LK.getScore()); // Make player bounce player.velocityY = -8; // Remove enemy enemy.destroy(); enemies.splice(i, 1); // Increase game speed slightly gameSpeed += 0.01; if (enemySpawnRate > 60) { enemySpawnRate -= 1; } // Flash effect LK.effects.flashObject(enemy, 0xffff00, 200); } else { // Player touched enemy from side - game over LK.getSound('die').play(); LK.effects.flashScreen(0xff0000, 1000); LK.showGameOver(); } } } } game.update = function () { // Update D-pad input if (dpad && dpad.update) { dpad.update(); } // Update enemy spawn timer enemySpawnTimer++; if (enemySpawnTimer >= enemySpawnRate) { spawnEnemy(); enemySpawnTimer = 0; } // Check collisions checkCollisions(); // Remove enemies that fall off screen for (var i = enemies.length - 1; i >= 0; i--) { var enemy = enemies[i]; if (enemy.y > 2800) { enemy.destroy(); enemies.splice(i, 1); } } // Update enemy speed based on game speed for (var i = 0; i < enemies.length; i++) { enemies[i].speed = 2 * gameSpeed; } };
===================================================================
--- original.js
+++ change.js
@@ -224,9 +224,9 @@
// Create second floating platform
var floatingPlatform2 = game.addChild(LK.getAsset('smallPlatform', {
anchorX: 0.5,
anchorY: 0.5,
- x: 1400,
+ x: 1000,
y: platformY - 250
}));
platforms.push({
obj: floatingPlatform2,
yuvarlak içinde bir kum küresi. No background. Transparent background. Blank background. No shadows. 2d. In-Game asset. flat
daire içinde sola bakan bir ok. In-Game asset. 2d. High contrast. No shadows
eski bir saat. In-Game asset. 2d. High contrast. No shadows
metal platform. In-Game asset. 2d. High contrast. No shadows
Çim zemin. In-Game asset. 2d. High contrast. No shadows
Dinozor. In-Game asset. 2d. High contrast. No shadows
Büyük kum saati. In-Game asset. 2d. High contrast. No shadows
Işın. In-Game asset. 2d. High contrast. No shadows
Daire içinde mavi ışın In-Game asset. 2d. High contrast. No shadows