User prompt
düşmana animasyon ekle ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
düşmanın yuvarlak kısmı oyuncuya kitlensin
User prompt
düşmanın sivri kısmı oyuncuya kitlensin
User prompt
düşman spawnlandığında yuvarlak kısmı oyuncuya kitlensin fakan oyuncu hareket ettikce düşmanın yönü birdaha değişmesin
User prompt
düşman oyuncuya bir kere baktığında birdaha yönü değişmesin
User prompt
düşman ilk ortaya çıktığında yuvarlak tarafı oyuncuya baksın ve birdaha hareket etmesin
User prompt
düşman ortaya çıktığında baktığı yön değişmesin
User prompt
hep değil sadece ilk ortaya çıktığında
User prompt
yanış taraf öbürü
User prompt
düşmanın yuvarlak tarafı hep oyuncuya baksın
User prompt
efektteki yeşil cok parlak biraz parlaklıgını kıs ve soluklaştır
User prompt
oyuncu level atladıgında efekt ekle
User prompt
karakter level atladığında ekran yavaşca yeşil yanıp sönsün ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
karakterin hasar yeme sesi ekle
User prompt
level atlama sesi ekle
User prompt
kutu 3 saniye boyunca ekranda dursun
User prompt
kutu oyunun başında çıkmasın ve çıkma aralığını 7 saniye yap
User prompt
15 saniyede bi rastgele bi yerde yeşil canlar çıksın ve oyuncu eğer üstünden geçerse 20 can kazansın ve kutu yok olsun,eğer kutu çıktıktan 2 saniye içerisinde oyuncu alamazsa kutu yok olsun
User prompt
nadiren ekranın herhangi bi yerinde oluşan yeşil can kutuları çıkart
User prompt
mor düşmanları sil
User prompt
mor düşmanlar eğer oyuncuya değerse 40 can götürsün
User prompt
mor düşmanlar nadiren çıksın ve eğer oyuncuya değerse 50 can hasar yesin
User prompt
hala yüzde işareti var
User prompt
can barındaki yüzde işaretini kaldır sadece sayı
User prompt
can barımızda ne kadar canımızın kaldığı yazsın
/**** * Classes ****/ var Enemy = Container.expand(function () { var self = Container.call(this); var enemyGraphics = self.attachAsset('enemy', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 9 + Math.random() * 4.5; // Increase base speed and range self.health = 1; self.lastWasIntersecting = false; self.update = function () { // Move towards the player's current position self.x += self.vx; self.y += self.vy; // Check collision with player var isIntersecting = self.intersects(player); if (!self.lastWasIntersecting && isIntersecting) { player.takeDamage(10); self.destroy(); var index = enemies.indexOf(self); if (index > -1) { enemies.splice(index, 1); } } self.lastWasIntersecting = isIntersecting; // Check if the enemy has exited the screen without colliding with the player if (!isIntersecting && (self.x < -self.width || self.x > 2048 + self.width || self.y < -self.height || self.y > 2732 + self.height)) { LK.setScore(LK.getScore() + 10); self.destroy(); var index = enemies.indexOf(self); if (index > -1) { enemies.splice(index, 1); } } }; self.takeDamage = function (amount) { self.health -= amount; if (self.health <= 0) { LK.getSound('explosion').play(); LK.effects.flashObject(self, 0xFFFFFF, 100); self.destroy(); var index = enemies.indexOf(self); if (index > -1) { enemies.splice(index, 1); } LK.setScore(LK.getScore() + 10); } }; return self; }); // Set background color var Player = Container.expand(function () { var self = Container.call(this); var playerGraphics = self.attachAsset('player', { anchorX: 0.5, anchorY: 0.5 }); self.health = 100; self.rotation = 0; self.shootCooldown = 0; self.update = function () { if (self.shootCooldown > 0) { self.shootCooldown--; } // Move player towards target position var dx = self.targetX - self.x; var dy = self.targetY - self.y; var dist = Math.sqrt(dx * dx + dy * dy); if (dist > 1) { self.x += dx / dist * 7; // Increase speed for faster movement self.y += dy / dist * 7; // Increase speed for faster movement } }; self.shoot = function () { // Shooting functionality removed }; self.takeDamage = function (amount) { self.health -= 20; LK.getSound('damage').play(); LK.effects.flashObject(self, 0xFF0000, 300); healthBarForeground.width = self.health / 100 * 400; // Update health bar width to match new size // Update health text healthText.setText(self.health); // Calculate the gray overlay intensity based on remaining health var grayIntensity = 1 - self.health / 100; LK.effects.flashScreen(0x808080, 300, { alpha: grayIntensity }); if (self.health <= 0) { LK.effects.flashScreen(0xFF0000, 1000); LK.showGameOver(); } }; return self; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x000000 }); /**** * Game Code ****/ // Update player game.setBackgroundColor(0x2c3e50); // Game variables var player; var enemies = []; var spawnTimer = 0; var level = 1; // Removed duplicate initialization of levelText var spawnInterval = 60; // Decrease interval for more frequent spawns var spawnDistance = 800; // Distance from center to spawn enemies var aimDirection = 0; var score = 0; // Create player in center of screen player = new Player(); player.x = 2048 / 2; player.y = 2732 / 2; game.addChild(player); // Spawn an initial enemy at the start of the game spawnEnemy(); // Create graphical health bar var healthBarContainer = new Container(); var healthBarBackground = LK.getAsset('healthBarBackground', { anchorX: 0, anchorY: 0 }); var healthBarForeground = LK.getAsset('healthBarForeground', { anchorX: 0, anchorY: 0 }); healthBarContainer.addChild(healthBarBackground); healthBarContainer.addChild(healthBarForeground); // Add text to display remaining health var healthText = new Text2('100', { size: 40, fill: 0xFFFFFF }); healthText.anchor.set(0.5, 0.5); healthBarContainer.addChild(healthText); healthText.x = healthBarBackground.width / 2; healthText.y = healthBarBackground.height / 2; healthBarForeground.anchorX = 0; healthBarForeground.anchorY = 0; LK.gui.topLeft.addChild(healthBarContainer); healthBarContainer.x = 10; // Position health bar away from the left edge healthBarContainer.y = 10; // Position health bar away from the top edge // Create score text var scoreText = new Text2('Score: 0', { size: 60, fill: 0xFFFFFF }); scoreText.anchor.set(0.5, 0); LK.gui.top.addChild(scoreText); // Create level text var levelText = new Text2('Level: ' + level, { size: 60, fill: 0xFFFFFF }); levelText.anchor.set(1, 0); LK.gui.topRight.addChild(levelText); levelText.x = -10; // Position level text away from the right edge // Handle touch/click input for aiming and shooting game.down = function (x, y, obj) { // Set target position for player to move towards player.targetX = x; player.targetY = y; }; game.move = function (x, y, obj) { // No movement logic needed here }; game.up = function (x, y, obj) { // Could add additional logic here }; // Spawn enemy at random position around the player function spawnEnemy() { var enemy; enemy = new Enemy(); // Randomly choose an edge of the screen to spawn the enemy var edge = Math.floor(Math.random() * 4); switch (edge) { case 0: // Top edge enemy.x = Math.random() * 2048; enemy.y = -enemy.height; break; case 1: // Right edge enemy.x = 2048 + enemy.width; enemy.y = Math.random() * 2732; break; case 2: // Bottom edge enemy.x = Math.random() * 2048; enemy.y = 2732 + enemy.height; break; case 3: // Left edge enemy.x = -enemy.width; enemy.y = Math.random() * 2732; break; } // Calculate direction towards player var dx = player.x - enemy.x; var dy = player.y - enemy.y; var dist = Math.sqrt(dx * dx + dy * dy); enemy.vx = dx / dist * (enemy.speed + level * 0.5); enemy.vy = dy / dist * (enemy.speed + level * 0.5); // Rotate enemy to face the player enemy.rotation = Math.atan2(dy, dx); game.addChild(enemy); enemies.push(enemy); // Increase difficulty if (spawnInterval > 30) { spawnInterval -= 0.5; } } // Game update loop game.update = function () { // Update player player.update(); // Update enemies for (var i = enemies.length - 1; i >= 0; i--) { enemies[i].update(); } // Spawn enemies spawnTimer++; if (spawnTimer >= spawnInterval) { spawnEnemy(); spawnTimer = 0; } // Update score and level display scoreText.setText('Score: ' + LK.getScore()); levelText.setText('Level: ' + level); // Increase level every 30 points if (LK.getScore() >= level * 30) { level++; levelText.setText('Level: ' + level); // Play level up sound LK.getSound('levelUp').play(); } };
===================================================================
--- original.js
+++ change.js
@@ -10,11 +10,11 @@
self.speed = 9 + Math.random() * 4.5; // Increase base speed and range
self.health = 1;
self.lastWasIntersecting = false;
self.update = function () {
- // Move towards the player's initial locked direction
- self.x += self.initialVx;
- self.y += self.initialVy;
+ // Move towards the player's current position
+ self.x += self.vx;
+ self.y += self.vy;
// Check collision with player
var isIntersecting = self.intersects(player);
if (!self.lastWasIntersecting && isIntersecting) {
player.takeDamage(10);
@@ -211,11 +211,10 @@
var dy = player.y - enemy.y;
var dist = Math.sqrt(dx * dx + dy * dy);
enemy.vx = dx / dist * (enemy.speed + level * 0.5);
enemy.vy = dy / dist * (enemy.speed + level * 0.5);
- // Lock the direction towards the player at spawn
- enemy.initialVx = enemy.vx;
- enemy.initialVy = enemy.vy;
+ // Rotate enemy to face the player
+ enemy.rotation = Math.atan2(dy, dx);
game.addChild(enemy);
enemies.push(enemy);
// Increase difficulty
if (spawnInterval > 30) {