User prompt
make train enemy move faster to left
Code edit (1 edits merged)
Please save this source code
User prompt
Yesil1 3 puan olduktan 2 saniye sonra ekranın orta en sağ tarafında trainenemy asseti spawn olsun ve sola doğru hızlıca hareket etsin
User prompt
The error message: nginx Kopyala Düzenle Compilation error[L933]: Declaration or statement expected. typically appears when the JavaScript parser finds an unexpected token or incomplete statement. In your code, the issue is caused by the following snippet at the end: js Kopyala Düzenle while (game.children.length > 0) { kodun bir kısmı bu hata şu :Compilation error[L933]: Declaration or statement expected. Here are the main problems: Uncommented Text: The phrase kodun bir kısmı bu hata şu : is plain text inserted in the middle of your code without being commented. JavaScript expects valid code inside the block, but plain text is not a valid statement. Incomplete Block: It appears that the while loop’s block isn’t properly defined or closed. The loop’s body should contain valid JavaScript statements or be commented out if it’s only meant as a note. How to Fix Comment Out or Remove the Note: If the text is only a note, convert it to a comment. For example: js Kopyala Düzenle while (game.children.length > 0) { // kodun bir kısmı bu hata şu : // [insert intended functionality or leave empty if not needed] } Or simply remove it if it's not required. Complete the While Loop: Make sure the loop contains valid statements and that the block is properly closed with a }. For example, if your intent is to remove all children from the game: js Kopyala Düzenle while (game.children.length > 0) { game.children[0].destroy(); game.children.splice(0, 1); } By ensuring that all text within the code is either a valid statement or properly commented out and that every opened block is correctly closed, the error should be resolved.
User prompt
spawn zigzagenemy asset 15 seconds later yesil1 has 3 points and move zigzagenemy named asset to left
User prompt
make yesil1 3 points in the beginning
User prompt
Make yesil1 0 points in the beginning
Code edit (1 edits merged)
Please save this source code
User prompt
make tube_2 waiting time 15 seconds
User prompt
when yesil_1 has 3 points game spawnes tube_2 and makes it move to left 14 seconds later
User prompt
make tube_2 wait for 14 second then make it go left
User prompt
make bg3son wait for 14 second
User prompt
move tube_2 150 pixel left
User prompt
make yesil_1 3 points in the beginnning
User prompt
make bg3son wait for 16 second
Code edit (2 edits merged)
Please save this source code
User prompt
make the one endlessbg3s keep spawning 6 second time duration and make first one wait 2 seconnds to spawn at first
User prompt
make speed of bg3son and endlessbg2 two time faster
User prompt
make bg3son and endlessbg3 velocity faster
User prompt
make yesil_1 0 point at the beginning
Code edit (1 edits merged)
Please save this source code
User prompt
when yesil_1 has 3 points wait for 1 second and spawn character like it spawns it top of screen and make it fall to its normal spawn point in the beginning
User prompt
when yesil_1 has 3 points wait for 1 second and spawn it top of screen and make it fall to its normal spawn point in the beginning
User prompt
at the normal position of tube_2
User prompt
make tube_2 visible again when yesil_1 has 3 points
/**** * Classes ****/ // Coin class var Coin = Container.expand(function () { var self = Container.call(this); var coinGraphics = self.attachAsset('coin', { anchorX: 0.5, anchorY: 0.5 }); self.velocity = 5; self.zIndex = 15; self.update = function () { self.x -= self.velocity; }; }); // NEW: EndlessBG3 class using the same scroll system as background2 var EndlessBG3 = Container.expand(function () { var self = Container.call(this); var bg1 = LK.getAsset('endlessbg3', { anchorX: 0, anchorY: 0 }); bg1.x = 0; bg1.y = 0; self.addChild(bg1); var bg2 = LK.getAsset('endlessbg3', { anchorX: 1, anchorY: 0 }); bg2.scaleX = -1; bg2.x = bg1.width; bg2.y = 0; self.addChild(bg2); self.speed = 2; self.update = function () { bg1.x -= self.speed; bg2.x -= self.speed; if (bg1.x + bg1.width <= 0) { bg1.x = bg2.x + bg2.width; } if (bg2.x + bg2.width <= 0) { bg2.x = bg1.x + bg1.width; } }; }); // Enemy class 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.zIndex = 10; self.canDamage = true; self.update = function () { self.x -= self.speed; if (self.x < -50) { self.destroy(); } }; }); // FlyinEnemy class var FlyinEnemy = Container.expand(function () { var self = Container.call(this); var flyinEnemyGraphics = self.attachAsset('flyin_enemy', { anchorX: 0.5, anchorY: 0 }); self.speed = 5; self.zIndex = 10; self.canDamage = true; self.homing = false; self.vx = 0; self.vy = 0; self.update = function () { if (!self.homing) { self.x -= self.speed; if (self.x < -50) { self.destroy(); } } else { self.x += self.vx; self.y += self.vy; if (self.x < -200 || self.x > 2248 || self.y < -200 || self.y > 2932) { self.destroy(); } } }; }); // Player class 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.isFalling = false; self.fallSpeed = 0; self.fallAcceleration = 0.7; self.fallTargetY = 2732 / 2 - 7; self.zIndex = 20; self.hearts = typeof remainingHearts !== 'undefined' ? remainingHearts : 3; self.update = function () { self.prevY = self.y; if (self.isFalling) { self.y += self.fallSpeed; self.fallSpeed += self.fallAcceleration; if (self.y >= self.fallTargetY) { self.y = self.fallTargetY; self.isFalling = false; self.fallSpeed = 0; game.weaponEnabled = true; } } self.prevY = self.y; if (self.isJumping) { self.y += self.velocityY; self.velocityY += 0.7; if (self.y >= 2732 / 2 - 3) { self.y = 2732 / 2 - 9; self.isJumping = false; self.velocityY = 0; } } }; self.invulnerable = false; self.hit = function () { if (!self.invulnerable) { self.loseHeart(); self.invulnerable = true; LK.setTimeout(function () { self.invulnerable = false; }, 500); } }; self.jump = function () { if (!self.isJumping) { self.isJumping = true; self.velocityY = -self.jumpHeight; } }; self.loseHeart = function () { self.hearts--; playerDeaths++; if (playerDeaths === 1 && hearts[0]) { hearts[0].destroy(); } else if (playerDeaths === 2 && hearts[1]) { hearts[1].destroy(); } else if (playerDeaths === 3 && hearts[2]) { hearts[2].destroy(); } remainingHearts = self.hearts; if (hearts.length === 0) { for (var i = enemies.length - 1; i >= 0; i--) { enemies[i].destroy(); enemies.splice(i, 1); } for (var i = flyinEnemies.length - 1; i >= 0; i--) { flyinEnemies[i].destroy(); flyinEnemies.splice(i, 1); } for (var i = coins.length - 1; i >= 0; i--) { coins[i].destroy(); coins.splice(i, 1); } self.destroy(); game.weaponEnabled = false; } }; }); // ScrollingBackground class var ScrollingBackground = Container.expand(function () { var self = Container.call(this); self.bg1 = LK.getAsset('background', { anchorX: 0, anchorY: 0 }); self.bg1.x = 0; self.bg1.y = 0; self.addChild(self.bg1); self.bg2 = LK.getAsset('background', { anchorX: 1, anchorY: 0 }); self.bg2.scaleX = -1; self.bg2.x = self.bg1.width; self.bg2.y = 0; self.addChild(self.bg2); self.speed = 2; self.update = function () { self.bg1.x -= self.speed; self.bg2.x -= self.speed; if (self.bg1.x + self.bg1.width <= 0) { self.bg1.x = self.bg2.x + self.bg2.width; } if (self.bg2.x + self.bg2.width <= 0) { self.bg2.x = self.bg1.x + self.bg1.width; } }; }); // ScrollingBackground2 class var ScrollingBackground2 = Container.expand(function () { var self = Container.call(this); var bg1 = LK.getAsset('background2', { anchorX: 0, anchorY: 0 }); bg1.x = 0; bg1.y = 0; self.addChild(bg1); var bg2 = LK.getAsset('background2', { anchorX: 1, anchorY: 0 }); bg2.scaleX = -1; bg2.x = bg1.width; bg2.y = 0; self.addChild(bg2); self.speed = 2; self.update = function () { bg1.x -= self.speed; bg2.x -= self.speed; if (bg1.x + bg1.width <= 0) { bg1.x = bg2.x + bg2.width; } if (bg2.x + bg2.width <= 0) { bg2.x = bg1.x + bg1.width; } }; }); // Tube class var Tube = Container.expand(function () { var self = Container.call(this); var tubeGraphics = self.attachAsset('tup_1', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 5; self.zIndex = 0; self.update = function () { self.x -= self.speed; if (self.x < -50) { self.destroy(); } }; }); // Tube2 class var Tube2 = Container.expand(function () { var self = Container.call(this); var tubeGraphics = self.attachAsset('tube_2', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 5; // Tube2’nın diğer öğelerin önünde gözükmesi gerekiyorsa zIndex’i buna göre ayarlayın; burada örnek olarak 10 verildi. self.zIndex = 10; self.update = function () { self.x -= self.speed; if (self.x < -self.width) { self.destroy(); } }; }); // Weapon class var Weapon = Container.expand(function () { var self = Container.call(this); var weaponGraphics = self.attachAsset('weapon', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 40; self.update = function () { self.x += self.directionX * self.speed; self.y += self.directionY * self.speed; weaponGraphics.rotation += 0.3; if (Math.abs(game.down.x - self.x) < self.speed && Math.abs(game.down.y - self.y) < self.speed) { self.destroy(); } }; }); /**** * Initialize Game ****/ var game = new LK.Game({ width: 2048, height: 2732, backgroundColor: 0x000000 }); /**** * Game Code ****/ var control_2 = LK.getAsset('control_2', { anchorX: 0.5, anchorY: 0.5 }); /**** * Global Variables & Flags ****/ var endlessbg3SpawnerInterval; var endlessbg3 = LK.getAsset('endlessbg3', { anchorX: 0.5, anchorY: 0.5 }); // Arka plan varlıklarımızın zIndex değerlerini diğer öğelerin altında kalacak şekilde ayarlıyoruz: endlessbg3.zIndex = 1; var cc = LK.getAsset('cc', { anchorX: 0.5, anchorY: 0.5 }); cc.x = 2048 / 2; cc.y = 2732 / 2; game.addChild(cc); var startNormalEnemy = true; var coinCounter = 0; var flyinEnemies = []; var playerDeaths = 0; var hearts = []; var remainingHearts = 3; game.controlActive = false; var coins = []; var firstControlTriggered = false; var enemies = []; var enemySpawnInterval = Math.floor(Math.random() * 100) + 30; var enemySpawnCounter = 0; var stopSpawn = false; game.weaponEnabled = true; // Yeni endlessbg3 spawn fonksiyonu function spawnEndlessBG3() { // endlessbg3 varlığını oluşturuyoruz. var bg3 = LK.getAsset('endlessbg3', { anchorX: 0.5, anchorY: 0.5 }); // bg3’ün x konumunu ayarla (sol kenarın ekranın sağ kenarıyla hizalanması için) bg3.x = game.width + bg3.width / 2; // bg3’ün y konumunu ayarlayın bg3.y = 2732 / 2 + 150; // Arka plan öğesi olarak diğerlerinin altında kalması için zIndex’i düşük tutuyoruz. bg3.zIndex = 1; bg3.speed = 2; // Hareket hızı (sola doğru) bg3.update = function () { this.x -= this.speed; }; game.addChild(bg3); } // Spawn zamanlayıcısını başlatıyoruz: endlessbg3 spawn, endlessbg3 hareket etmeye başladığı anda 5 saniye aralıklarla çalışır. var initialDelay = 10000; // ilk spawn 10 saniye sonra var delayIncrement = 4000; // her spawn sonrası 4 saniye artacak var currentDelay = initialDelay; var endlessBG3SpawnScheduled = false; function scheduleNextEndlessBG3() { spawnEndlessBG3(); currentDelay += delayIncrement; LK.setTimeout(scheduleNextEndlessBG3, currentDelay); } /**** * (A) Eski FlyinEnemy Spawn (sağdan sola, homing false) ****/ function spawnFlyinEnemy() { if (stopSpawn) { return; } var delay = Math.random() * 2000 + 2000; LK.setTimeout(function () { if (stopSpawn) { return; } var fe = new FlyinEnemy(); fe.x = 2048; fe.y = 449; fe.zIndex = 10; game.addChild(fe); flyinEnemies.push(fe); spawnFlyinEnemy(); }, delay); } spawnFlyinEnemy(); /**** * (B) Wave şeklinde, homing davranışlı FlyinEnemy Spawn ****/ function spawnWaveOfFlyinEnemies() { var spawnPoints = [{ x: 0, y: 0 }, { x: 2048, y: 0 }, { x: 0, y: 2732 }, { x: 2048, y: 2732 }, { x: 1024, y: 0 }, { x: 1024, y: 2732 }, { x: 0, y: 1366 }, { x: 2048, y: 1366 }]; for (var i = spawnPoints.length - 1; i > 0; i--) { var j = Math.floor(Math.random() * (i + 1)); var temp = spawnPoints[i]; spawnPoints[i] = spawnPoints[j]; spawnPoints[j] = temp; } spawnPoints.forEach(function (point, index) { LK.setTimeout(function () { var enemy = new FlyinEnemy(); enemy.homing = true; enemy.wave = true; enemy.x = point.x; enemy.y = point.y; var dx = player.x - enemy.x; var dy = player.y - enemy.y; var distance = Math.sqrt(dx * dx + dy * dy) || 1; enemy.vx = dx / distance * enemy.speed; enemy.vy = dy / distance * enemy.speed; // Bu enemy’lerin, diğer öğelerin üzerinde görünmesi gerekiyorsa uygun zIndex verin. enemy.zIndex = 10; if (enemy.x < 1024) { enemy.scaleX = -1; } game.addChild(enemy); flyinEnemies.push(enemy); }, index * 800); if (index === spawnPoints.length - 1) { LK.setTimeout(function () { spawnFlyinEnemy(); }, 10000); } }); } /**** * Normal Enemy Spawn (sağdan sola, homing false) ****/ game.update = function () { scrollingBackground.update(); player.update(); if (game.scrollingBg2 && game.scrollingBg2.update) { game.scrollingBg2.update(); } for (var t = 0; t < game.children.length; t++) { var child = game.children[t]; if (child instanceof Tube || child === yesil1) { child.update(); } if (child.children) { for (var c = 0; c < child.children.length; c++) { var subChild = child.children[c]; if (subChild.update) { subChild.update(); } } } } enemySpawnCounter++; if (startNormalEnemy && !stopSpawn && enemySpawnCounter >= enemySpawnInterval && !(LK.ticks >= 876 && LK.ticks <= 936) && !(LK.ticks >= 1776 && LK.ticks <= 1836) && !(LK.ticks >= 2676 && LK.ticks <= 2736) && !(LK.ticks >= 3576 && LK.ticks <= 3636) && !(LK.ticks >= 4476 && LK.ticks <= 4536) && !(LK.ticks >= 5376 && LK.ticks <= 5436) && !(LK.ticks >= 6276 && LK.ticks <= 6336) && !(LK.ticks >= 7776 && LK.ticks <= 7836)) { var canSpawn = true; for (var i = 0; i < enemies.length; i++) { if (enemies[i].x > 1800) { canSpawn = false; break; } } if (canSpawn) { var tubeCollision = false; for (var t = 0; t < game.children.length; t++) { var child = game.children[t]; if (child.asset && child.asset.name === 'tup_1') { var enemyRight = 2048 + 75; var enemyLeft = 2048 - 75; var tubeRight = child.x + 125; var tubeLeft = child.x - 125; if (!(enemyLeft > tubeRight || enemyRight < tubeLeft)) { tubeCollision = true; break; } } } if (!tubeCollision) { LK.setTimeout(function () { if (stopSpawn) { return; } var enemy = new Enemy(); enemy.x = 2048; enemy.y = 2732 / 2 - 13; enemy.zIndex = 10; enemies.push(enemy); game.addChild(enemy); }, 100); } enemySpawnCounter = 0; enemySpawnInterval = Math.floor(Math.random() * 100) + 30; } enemySpawnCounter = 0; enemySpawnInterval = Math.floor(Math.random() * 100) + 30; } game.children.sort(function (a, b) { return (a.zIndex || 0) - (b.zIndex || 0); }); // --- Enemy - Player --- for (var j = enemies.length - 1; j >= 0; j--) { if (enemies[j]) { enemies[j].update(); } if (player.intersects(enemies[j]) && enemies[j].canDamage) { enemies[j].canDamage = false; LK.effects.flashScreen(0xff0000, 750, 0.0001); player.hit(); if (player.hearts <= 0) { LK.showGameOver(); } } for (var k = game.children.length - 1; k >= 0; k--) { var child = game.children[k]; if (child instanceof Weapon && child.intersects(enemies[j])) { var coin = new Coin(); coin.x = enemies[j].x; coin.y = enemies[j].y; coin.velocity = 5; game.addChild(coin); coins.push(coin); var particleEffect = LK.getAsset('particle', { anchorX: 0.5, anchorY: 0.5, color: 0x808080 }); particleEffect.x = enemies[j].x - 15; particleEffect.y = enemies[j].y; game.addChild(particleEffect); LK.setTimeout(function () { particleEffect.destroy(); }, 150); enemies[j].destroy(); child.destroy(); enemies.splice(j, 1); break; } } } // --- FlyinEnemy - Player --- for (var n = flyinEnemies.length - 1; n >= 0; n--) { if (flyinEnemies[n]) { flyinEnemies[n].update(); } if (player.intersects(flyinEnemies[n]) && flyinEnemies[n].canDamage) { flyinEnemies[n].canDamage = false; LK.effects.flashScreen(0xff0000, 750, 0.0001); player.hit(); if (player.hearts <= 0) { LK.showGameOver(); } } for (var k = game.children.length - 1; k >= 0; k--) { var child = game.children[k]; if (child instanceof Weapon && child.intersects(flyinEnemies[n])) { if (!flyinEnemies[n].wave) { var coin = new Coin(); coin.x = flyinEnemies[n].x; coin.y = flyinEnemies[n].y + 60; coin.velocity = 5; game.addChild(coin); coins.push(coin); } var particleEffect = LK.getAsset('particle', { anchorX: 0.5, anchorY: 0.5, color: 0x808080 }); particleEffect.x = flyinEnemies[n].x - 30; particleEffect.y = flyinEnemies[n].y + 30; game.addChild(particleEffect); LK.setTimeout(function () { particleEffect.destroy(); }, 150); flyinEnemies[n].destroy(); child.destroy(); flyinEnemies.splice(n, 1); break; } } if (flyinEnemies[n] && !flyinEnemies[n].homing && flyinEnemies[n].x < -50) { flyinEnemies[n].destroy(); flyinEnemies.splice(n, 1); } } // --- Coin Toplanması --- for (var m = coins.length - 1; m >= 0; m--) { var coin = coins[m]; coin.x -= coin.velocity; if (coin.x < -100) { coin.destroy(); coins.splice(m, 1); } else if (player.intersects(coin)) { coinCounter++; scoreText.setText(coinCounter.toString()); if (coinCounter > 9 && !scoreText.movedLeft) { scoreText.x -= 20; scoreText.movedLeft = true; } coin.destroy(); coins.splice(m, 1); } } }; LK.stage.addChild(game); /**** * Tube Spawn (her 15 saniyede bir) ****/ function spawnTube() { if (stopSpawn) { return; } var tube = new Tube(); tube.x = 2048 + 125; tube.y = 2732 / 2 - 120; game.addChild(tube); var yesil1 = LK.getAsset('yesil_1', { anchorX: 0.5, anchorY: 0.5 }); // Counter to track yesil_1 points var yesil1PointsCounter = 0; yesil1.x = tube.x; yesil1.y = tube.y - 170; yesil1.speed = 10; yesil1.points = 3; yesil1.fadeBonusApplied = false; yesil1.coinBonusApplied = false; yesil1.touchBonusApplied = false; yesil1.update = function () { yesil1.x -= yesil1.speed; if (yesil1.x < -yesil1.width) { yesil1.destroy(); } function applyBonus(condition, bonusFlag, bonusName) { if (condition && !yesil1[bonusFlag]) { yesil1[bonusFlag] = true; yesil1.points += 1; console.log(bonusName + " applied. Yesil1 points: " + yesil1.points); } } applyBonus(game.fadeTriggered, 'fadeBonusApplied', "Fade bonus"); applyBonus(coinCounter >= 30, 'coinBonusApplied', "Coin bonus"); applyBonus(player.intersects(yesil1) && yesil1.points >= 2, 'touchBonusApplied', "Touch bonus"); // Freeze condition and trigger fade effect if (yesil1.points >= 3) { yesil1PointsCounter++; if (yesil1PointsCounter === 1) { if (!yesil1.spawnScheduled) { yesil1.spawnScheduled = true; console.log("Yesil1 3 puana ulaştı. Karakter spawn ediliyor."); LK.setTimeout(function () { var newCharacter = new Player(); newCharacter.x = 2048 / 2 - 30; newCharacter.y = 0; // Ekranın üstünden başla newCharacter.isFalling = true; newCharacter.fallSpeed = 0; newCharacter.fallAcceleration = 0.7; newCharacter.fallTargetY = 2732 / 2 + 3; // Normal spawn noktası game.addChild(newCharacter); player = newCharacter; game.weaponEnabled = true; }, 1000); // İlk spawn 15 saniye sonra: LK.setTimeout(function () { spawnEndlessBG3(); // Sonrasında her 6 saniyede bir spawn edilsin: yesil1.endlessBG3Interval = LK.setInterval(function () { spawnEndlessBG3(); }, 6000); }, 15000); } } console.log("Freeze game triggered because yesil1 points reached: " + yesil1.points); stopSpawn = true; // bb asset’ini ekranın ortasına yerleştiriyoruz var bb = LK.getAsset('bb', { anchorX: 0.5, anchorY: 0.5 }); bb.x = 2048 - bb.width / 2; bb.y = 2732 / 2 + 150; game.addChild(bb); for (var i = 0; i < game.children.length; i++) { var obj = game.children[i]; if (obj.update) { obj.update = function () {}; } } // 5 saniye sonra arka plan ve tube_1’in update’ini eski haline getiriyoruz LK.setTimeout(function () { for (var i = 0; i < game.children.length; i++) { var obj = game.children[i]; if (obj instanceof ScrollingBackground2 || obj instanceof Tube) { obj.update = function () { this.x -= this.speed; if (this.x < -this.width) { this.destroy(); } }; } } }, 5000); // 'kara' asset’ini ekranın ortasına, yüksek zIndex ile ekliyoruz ki karakterlerin üstünü örtebilsin var kara = LK.getAsset('kara', { anchorX: 0.5, anchorY: 0.5 }); kara.x = 2048 / 2; kara.y = 2732 / 2; kara.alpha = 0; // Arka plan varlığı olarak diğerlerinin arkasında kalması için zIndex’i düşük tutuyoruz kara.zIndex = 1; game.addChild(kara); // 'kara'yı 0.5 saniyede fade in yapıyoruz var fadeInSteps = 30; var fadeInStepTime = 500 / fadeInSteps; var fadeInStep = 0; var fadeInInterval = LK.setInterval(function () { if (fadeInStep < fadeInSteps) { kara.alpha = fadeInStep / fadeInSteps; fadeInStep++; } else { LK.clearInterval(fadeInInterval); // 0.5 saniyede fade out var fadeOutSteps = 30; var fadeOutStepTime = 500 / fadeOutSteps; var fadeOutStep = 0; var fadeOutInterval = LK.setInterval(function () { if (fadeOutStep < fadeOutSteps) { kara.alpha = 1 - fadeOutStep / fadeOutSteps; fadeOutStep++; } else { LK.clearInterval(fadeOutInterval); kara.destroy(); } // bg3son’u ekliyoruz var bg3son = LK.getAsset('bg3son', { anchorX: 0.5, anchorY: 0.5 }); // Diğer öğelerin arkasında kalması için düşük zIndex veriyoruz bg3son.zIndex = 1; bg3son.x = 2048 / 2; bg3son.y = 2732 / 2 + 150; game.addChild(bg3son); // endlessbg3’ü ekliyoruz endlessbg3 = LK.getAsset('endlessbg3', { anchorX: 0.5, anchorY: 0.5 }); // Düşük zIndex ile arka plan olarak ayarlanıyor endlessbg3.zIndex = 1; endlessbg3.x = bg3son.x + bg3son.width / 2 + 450; endlessbg3.y = 2732 / 2 + 150; game.addChild(endlessbg3); // Bir tane daha endlessbg3 spawn ediyoruz; yine düşük zIndex var endlessbg3Child = LK.getAsset('endlessbg3', { anchorX: 0.5, anchorY: 0.5 }); endlessbg3Child.zIndex = 1; endlessbg3Child.x = endlessbg3.x + 600; endlessbg3Child.y = endlessbg3.y; game.addChild(endlessbg3Child); // bg3son’un 15 saniye sonra sola hareket etmesini ayarlıyoruz LK.setTimeout(function () { bg3son.update = function () { this.x -= 2; }; }, 15000); }, fadeOutStepTime); } }, fadeInStepTime); LK.setTimeout(function () { player.destroy(); function destroyAndRemove(objects) { for (var i = objects.length - 1; i >= 0; i--) { objects[i].destroy(); objects.splice(i, 1); } } destroyAndRemove(enemies); destroyAndRemove(flyinEnemies); destroyAndRemove(coins); // background ve tube_1’i yok ediyoruz for (var i = game.children.length - 1; i >= 0; i--) { var child = game.children[i]; if (child.asset && (child.asset.name === 'background' || child.asset.name === 'tup_1')) { child.destroy(); } } }, 500); if (!game.isFading) { console.log("Triggering fade effect because yesil1 is active with points: " + yesil1.points); enhancedFadeEffect(); } } }; game.addChild(yesil1); var control = LK.getAsset('control', { anchorX: 0.5, anchorY: 0.5 }); control.x = 0; control.y = -177.5; tube.addChild(control); control.update = function () { if (player.intersects(control)) { if (!firstControlTriggered && coinCounter >= 10) { var toggleSpawn = function toggleSpawn(state, delay) { stopSpawn = state; if (!state) { LK.setTimeout(function () { stopSpawn = false; }, delay); } }; game.controlActive = true; control.update = function () {}; console.log("Control event triggered: coinCounter = " + coinCounter); startNormalEnemy = false; coins.forEach(function (coin) { coin.velocity = 0; }); LK.setTimeout(function () { coins.forEach(function (coin) { coin.velocity = 5; }); }, 4000); toggleSpawn(true, 5000); game.controlActive = true; LK.setTimeout(function () { for (var i = enemies.length - 1; i >= 0; i--) { enemies[i].destroy(); enemies.splice(i, 1); } for (var i = flyinEnemies.length - 1; i >= 0; i--) { flyinEnemies[i].destroy(); flyinEnemies.splice(i, 1); } }, 400); for (var i = 0; i < game.children.length; i++) { var obj = game.children[i]; if (obj.update) { obj.update = function () {}; } } LK.setTimeout(function () { player.destroy(); }, 330); enhancedFadeEffect(); firstControlTriggered = true; } } }; if (!stopSpawn) { LK.setTimeout(spawnTube, 15000); } } spawnTube(); /**** * Arka Plan ve Oyuncu ****/ var scrollingBackground = new ScrollingBackground(); game.addChild(scrollingBackground); var player = game.addChild(new Player()); player.x = 2048 / 2 - 30; player.y = 2732 / 2 + 3; /**** * Skor GUI ve Kalp ****/ var counterBackground = LK.getAsset('counter_background', { anchorX: 0.5, anchorY: 0.5 }); LK.gui.top.addChild(counterBackground); counterBackground.x = LK.gui.top.width / 2 - 62; counterBackground.y = 45; var scoreText = new Text2('0', { size: 80, fill: 0xFFFFFF }); LK.gui.top.addChild(scoreText); scoreText.x = LK.gui.top.width / 2 - 85; scoreText.y = 0; for (var i = 0; i < 3; i++) { var heart = LK.getAsset('heart', { anchorX: 0.5, anchorY: 0.5 }); LK.gui.top.addChild(heart); heart.x = 50 + i * 110 + 390; heart.y = 50; hearts.push(heart); } /**** * enhancedFadeEffect: Fade-out, clear scene, spawn background2, Tube2, then new player ****/ function enhancedFadeEffect() { if (game.isFading || game.fadeCompleted || !game.controlActive) { return; } game.isFading = true; game.fadeTriggered = true; var overlay = LK.getAsset('overlay', { anchorX: 0, anchorY: 0 }); overlay.alpha = 0; // Overlay’nin en üstte görünmemesi için zIndex’i düşük tutuyoruz (arka plana yakın) overlay.zIndex = 1; if (!overlay.parent) { LK.stage.addChild(overlay); } var steps = 20; var duration = 500; var stepTime = duration / steps; var currentStep = 0; var fadeOutInterval = LK.setInterval(function () { if (currentStep < steps) { overlay.alpha = currentStep / steps; currentStep++; } else { LK.clearInterval(fadeOutInterval); currentStep = 0; stopSpawn = true; while (game.children.length > 0) { game.removeChild(game.children[0]); } var scrollingBg2 = new ScrollingBackground2(); scrollingBg2.alpha = 0; game.scrollingBg2 = scrollingBg2; game.addChild(scrollingBg2); var tube2 = new Tube2(); control_2.x = 0; control_2.y = -177.5; tube2.addChild(control_2); control_2.update = function () { if (player && player.intersects(control_2)) { if (coinCounter >= 30) { console.log("Control_2 event triggered: coinCounter = " + coinCounter); for (var i = 0; i < game.children.length; i++) { var obj = game.children[i]; if (obj.update) { obj.update = function () {}; } } } } }; tube2.x = 2048 / 2 + 140; tube2.y = tube2.height / 2 - 60; game.addChild(tube2); LK.setTimeout(function () { var newPlayer = new Player(); newPlayer.hearts = remainingHearts; newPlayer.x = 2048 / 2 - 30; newPlayer.y = tube2.y; newPlayer.isFalling = true; newPlayer.fallSpeed = 0; newPlayer.fallAcceleration = 0.7; newPlayer.fallTargetY = 2732 / 2 - 7; game.addChild(newPlayer); player = newPlayer; game.weaponEnabled = true; LK.setTimeout(function () { spawnWaveOfFlyinEnemies(); }, 800); LK.setTimeout(function () { startNormalEnemy = true; }, 10500); }, 500); var fadeInDuration = 500; var fadeInStepTime = fadeInDuration / steps; var fadeInInterval = LK.setInterval(function () { if (currentStep < steps) { if (game.scrollingBg2) { game.scrollingBg2.alpha = currentStep / steps; } currentStep++; } else { LK.clearInterval(fadeInInterval); if (overlay.parent) { overlay.parent.removeChild(overlay); } var oldScrollingSpeed = game.scrollingBg2.speed; var oldTubeSpeed = tube2.speed; game.scrollingBg2.speed = 0; tube2.speed = 0; LK.setTimeout(function () { game.scrollingBg2.speed = oldScrollingSpeed; tube2.speed = oldTubeSpeed; stopSpawn = false; game.isFading = false; game.fadeCompleted = true; }, 8000); } }, fadeInStepTime); } }, stepTime); } /**** * Oyun Döngüsü ****/ game.update = function () { scrollingBackground.update(); player.update(); if (game.scrollingBg2 && game.scrollingBg2.update) { game.scrollingBg2.update(); } for (var t = 0; t < game.children.length; t++) { var child = game.children[t]; if (child instanceof Tube) { child.update(); } if (child.children) { for (var c = 0; c < child.children.length; c++) { var subChild = child.children[c]; if (subChild.update) { subChild.update(); } } } } enemySpawnCounter++; if (startNormalEnemy && !stopSpawn && enemySpawnCounter >= enemySpawnInterval && !(LK.ticks >= 876 && LK.ticks <= 936) && !(LK.ticks >= 1776 && LK.ticks <= 1836) && !(LK.ticks >= 2676 && LK.ticks <= 2736) && !(LK.ticks >= 3576 && LK.ticks <= 3636) && !(LK.ticks >= 4476 && LK.ticks <= 4536) && !(LK.ticks >= 5376 && LK.ticks <= 5436) && !(LK.ticks >= 6276 && LK.ticks <= 6336) && !(LK.ticks >= 7776 && LK.ticks <= 7836)) { var canSpawn = true; for (var i = 0; i < enemies.length; i++) { if (enemies[i].x > 1800) { canSpawn = false; break; } } if (canSpawn) { var tubeCollision = false; for (var t = 0; t < game.children.length; t++) { var child = game.children[t]; if (child.asset && child.asset.name === 'tup_1') { var enemyRight = 2048 + 75; var enemyLeft = 2048 - 75; var tubeRight = child.x + 125; var tubeLeft = child.x - 125; if (!(enemyLeft > tubeRight || enemyRight < tubeLeft)) { tubeCollision = true; break; } } } if (!tubeCollision) { LK.setTimeout(function () { if (stopSpawn) { return; } var enemy = new Enemy(); enemy.x = 2048; enemy.y = 2732 / 2 - 13; enemy.zIndex = 10; enemies.push(enemy); game.addChild(enemy); }, 100); } enemySpawnCounter = 0; enemySpawnInterval = Math.floor(Math.random() * 100) + 30; } enemySpawnCounter = 0; enemySpawnInterval = Math.floor(Math.random() * 100) + 30; } game.children.sort(function (a, b) { return (a.zIndex || 0) - (b.zIndex || 0); }); // Çarpışma Kontrolleri for (var j = enemies.length - 1; j >= 0; j--) { if (enemies[j]) { enemies[j].update(); } if (player.intersects(enemies[j]) && enemies[j].canDamage) { enemies[j].canDamage = false; LK.effects.flashScreen(0xff0000, 750, 0.0001); player.loseHeart(); if (player.hearts <= 0) { LK.showGameOver(); } } for (var k = game.children.length - 1; k >= 0; k--) { var child = game.children[k]; if (child instanceof Weapon && child.intersects(enemies[j])) { var coin = new Coin(); coin.x = enemies[j].x; coin.y = enemies[j].y; coin.velocity = 5; game.addChild(coin); coins.push(coin); var particleEffect = LK.getAsset('particle', { anchorX: 0.5, anchorY: 0.5, color: 0x808080 }); particleEffect.x = enemies[j].x - 15; particleEffect.y = enemies[j].y; game.addChild(particleEffect); LK.setTimeout(function () { particleEffect.destroy(); }, 150); enemies[j].destroy(); child.destroy(); enemies.splice(j, 1); break; } } } for (var n = flyinEnemies.length - 1; n >= 0; n--) { if (flyinEnemies[n]) { flyinEnemies[n].update(); } if (player.intersects(flyinEnemies[n]) && flyinEnemies[n].canDamage) { flyinEnemies[n].canDamage = false; LK.effects.flashScreen(0xff0000, 750, 0.0001); player.loseHeart(); if (player.hearts <= 0) { LK.showGameOver(); } } for (var k = game.children.length - 1; k >= 0; k--) { var child = game.children[k]; if (child instanceof Weapon && child.intersects(flyinEnemies[n])) { if (!flyinEnemies[n].wave) { var coin = new Coin(); coin.x = flyinEnemies[n].x; coin.y = flyinEnemies[n].y + 60; coin.velocity = 5; game.addChild(coin); coins.push(coin); } var particleEffect = LK.getAsset('particle', { anchorX: 0.5, anchorY: 0.5, color: 0x808080 }); particleEffect.x = flyinEnemies[n].x - 30; particleEffect.y = flyinEnemies[n].y + 30; game.addChild(particleEffect); LK.setTimeout(function () { particleEffect.destroy(); }, 150); flyinEnemies[n].destroy(); child.destroy(); flyinEnemies.splice(n, 1); break; } } if (flyinEnemies[n] && !flyinEnemies[n].homing && flyinEnemies[n].x < -50) { flyinEnemies[n].destroy(); flyinEnemies.splice(n, 1); } } for (var m = coins.length - 1; m >= 0; m--) { var coin = coins[m]; coin.x -= coin.velocity; if (coin.x < -100) { coin.destroy(); coins.splice(m, 1); } else if (player.intersects(coin)) { coinCounter++; scoreText.setText(coinCounter.toString()); if (coinCounter > 9 && !scoreText.movedLeft) { scoreText.x -= 20; scoreText.movedLeft = true; } coin.destroy(); coins.splice(m, 1); } } }; LK.stage.addChild(game); // Dokunma/Kontrol game.down = function (x, y, obj) { if (player.isJumping && game.weaponEnabled) { if (!game.lastWeaponTime || Date.now() - game.lastWeaponTime > 350) { var weapon = new Weapon(); weapon.x = player.x; weapon.y = player.y; var dx = x - weapon.x; var dy = y - weapon.y; var distance = Math.sqrt(dx * dx + dy * dy); weapon.directionX = dx / distance; weapon.directionY = dy / distance; var angle = Math.acos(weapon.directionY / Math.sqrt(weapon.directionX * weapon.directionX + weapon.directionY * weapon.directionY)); var angleInDegrees = angle * (180 / Math.PI); if (angleInDegrees <= 30) { weapon.speed *= 1.3; } game.addChild(weapon); LK.setTimeout(function () { weapon.destroy(); }, 9000); game.lastWeaponTime = Date.now(); } } player.jump(); }; // Oyunu Sahneye Ekle LK.stage.addChild(game);
===================================================================
--- original.js
+++ change.js
@@ -257,9 +257,10 @@
anchorX: 0.5,
anchorY: 0.5
});
self.speed = 5;
- self.zIndex = 2000;
+ // Tube2’nın diğer öğelerin önünde gözükmesi gerekiyorsa zIndex’i buna göre ayarlayın; burada örnek olarak 10 verildi.
+ self.zIndex = 10;
self.update = function () {
self.x -= self.speed;
if (self.x < -self.width) {
self.destroy();
@@ -307,8 +308,10 @@
var endlessbg3 = LK.getAsset('endlessbg3', {
anchorX: 0.5,
anchorY: 0.5
});
+// Arka plan varlıklarımızın zIndex değerlerini diğer öğelerin altında kalacak şekilde ayarlıyoruz:
+endlessbg3.zIndex = 1;
var cc = LK.getAsset('cc', {
anchorX: 0.5,
anchorY: 0.5
});
@@ -335,30 +338,28 @@
var bg3 = LK.getAsset('endlessbg3', {
anchorX: 0.5,
anchorY: 0.5
});
- // Eğer bg3.width değeri mevcutsa;
- // Anchor 0.5 olduğundan sol kenarı = x - bg3.width/2
- // Sol kenarın ekranın sağ kenarıyla hizalanması için:
- bg3.x = game.width + bg3.width / 2; // İsteğe bağlı olarak: game.width + bg3.width/2 - 1
- // bg3’ün y konumunu ayarlayın (örneğin, mevcut kodda 2732/2 + 150 olarak belirlenmiş)
+ // bg3’ün x konumunu ayarla (sol kenarın ekranın sağ kenarıyla hizalanması için)
+ bg3.x = game.width + bg3.width / 2;
+ // bg3’ün y konumunu ayarlayın
bg3.y = 2732 / 2 + 150;
- bg3.zIndex = 2101;
+ // Arka plan öğesi olarak diğerlerinin altında kalması için zIndex’i düşük tutuyoruz.
+ bg3.zIndex = 1;
bg3.speed = 2; // Hareket hızı (sola doğru)
bg3.update = function () {
this.x -= this.speed;
};
game.addChild(bg3);
}
// Spawn zamanlayıcısını başlatıyoruz: endlessbg3 spawn, endlessbg3 hareket etmeye başladığı anda 5 saniye aralıklarla çalışır.
-// endlessbg3 spawnları için başlangıç gecikme ve artış miktarı
var initialDelay = 10000; // ilk spawn 10 saniye sonra
var delayIncrement = 4000; // her spawn sonrası 4 saniye artacak
var currentDelay = initialDelay;
var endlessBG3SpawnScheduled = false;
function scheduleNextEndlessBG3() {
spawnEndlessBG3();
- currentDelay += delayIncrement; // spawnlar arası gecikmeyi artırıyoruz
+ currentDelay += delayIncrement;
LK.setTimeout(scheduleNextEndlessBG3, currentDelay);
}
/****
* (A) Eski FlyinEnemy Spawn (sağdan sola, homing false)
@@ -428,9 +429,10 @@
var dy = player.y - enemy.y;
var distance = Math.sqrt(dx * dx + dy * dy) || 1;
enemy.vx = dx / distance * enemy.speed;
enemy.vy = dy / distance * enemy.speed;
- enemy.zIndex = 2100;
+ // Bu enemy’lerin, diğer öğelerin üzerinde görünmesi gerekiyorsa uygun zIndex verin.
+ enemy.zIndex = 10;
if (enemy.x < 1024) {
enemy.scaleX = -1;
}
game.addChild(enemy);
@@ -596,9 +598,8 @@
if (flyinEnemies[n] && !flyinEnemies[n].homing && flyinEnemies[n].x < -50) {
flyinEnemies[n].destroy();
flyinEnemies.splice(n, 1);
}
- // Removed continuous spawn of bb and bg3son when they move off-screen
}
// --- Coin Toplanması ---
for (var m = coins.length - 1; m >= 0; m--) {
var coin = coins[m];
@@ -667,13 +668,13 @@
console.log("Yesil1 3 puana ulaştı. Karakter spawn ediliyor.");
LK.setTimeout(function () {
var newCharacter = new Player();
newCharacter.x = 2048 / 2 - 30;
- newCharacter.y = 0; // Start at the top of the screen
+ newCharacter.y = 0; // Ekranın üstünden başla
newCharacter.isFalling = true;
newCharacter.fallSpeed = 0;
newCharacter.fallAcceleration = 0.7;
- newCharacter.fallTargetY = 2732 / 2 + 3; // Normal spawn point
+ newCharacter.fallTargetY = 2732 / 2 + 3; // Normal spawn noktası
game.addChild(newCharacter);
player = newCharacter;
game.weaponEnabled = true;
}, 1000);
@@ -688,23 +689,23 @@
}
}
console.log("Freeze game triggered because yesil1 points reached: " + yesil1.points);
stopSpawn = true;
- // Position bb asset in the middle of the screen
+ // bb asset’ini ekranın ortasına yerleştiriyoruz
var bb = LK.getAsset('bb', {
anchorX: 0.5,
anchorY: 0.5
});
- bb.x = 2048 - bb.width / 2; // Position bb to the right of the screen
- bb.y = 2732 / 2 + 150; // Keep the y-axis the same
+ bb.x = 2048 - bb.width / 2;
+ bb.y = 2732 / 2 + 150;
game.addChild(bb);
for (var i = 0; i < game.children.length; i++) {
var obj = game.children[i];
if (obj.update) {
obj.update = function () {};
}
}
- // Unfreeze and restore velocity of background2 and tube_1 after 5 seconds
+ // 5 saniye sonra arka plan ve tube_1’in update’ini eski haline getiriyoruz
LK.setTimeout(function () {
for (var i = 0; i < game.children.length; i++) {
var obj = game.children[i];
if (obj instanceof ScrollingBackground2 || obj instanceof Tube) {
@@ -716,19 +717,20 @@
};
}
}
}, 5000);
- // Add 'kara' asset to the center of the screen with a high zIndex so that it covers the characters
+ // 'kara' asset’ini ekranın ortasına, yüksek zIndex ile ekliyoruz ki karakterlerin üstünü örtebilsin
var kara = LK.getAsset('kara', {
anchorX: 0.5,
anchorY: 0.5
});
kara.x = 2048 / 2;
kara.y = 2732 / 2;
kara.alpha = 0;
- kara.zIndex = 10000; // Ensures kara is drawn in front
+ // Arka plan varlığı olarak diğerlerinin arkasında kalması için zIndex’i düşük tutuyoruz
+ kara.zIndex = 1;
game.addChild(kara);
- // Fade in 'kara' asset over 0.5 seconds
+ // 'kara'yı 0.5 saniyede fade in yapıyoruz
var fadeInSteps = 30;
var fadeInStepTime = 500 / fadeInSteps;
var fadeInStep = 0;
var fadeInInterval = LK.setInterval(function () {
@@ -736,9 +738,9 @@
kara.alpha = fadeInStep / fadeInSteps;
fadeInStep++;
} else {
LK.clearInterval(fadeInInterval);
- // Fade out 'kara' asset over 0.5 seconds
+ // 0.5 saniyede fade out
var fadeOutSteps = 30;
var fadeOutStepTime = 500 / fadeOutSteps;
var fadeOutStep = 0;
var fadeOutInterval = LK.setInterval(function () {
@@ -748,39 +750,41 @@
} else {
LK.clearInterval(fadeOutInterval);
kara.destroy();
}
- // Add bg3son to the game
+ // bg3son’u ekliyoruz
var bg3son = LK.getAsset('bg3son', {
anchorX: 0.5,
anchorY: 0.5
});
- bg3son.zIndex = 2100; // Explicitly set zIndex for bg3son
+ // Diğer öğelerin arkasında kalması için düşük zIndex veriyoruz
+ bg3son.zIndex = 1;
bg3son.x = 2048 / 2;
bg3son.y = 2732 / 2 + 150;
game.addChild(bg3son);
- // Add endlessbg3 directly to the game
+ // endlessbg3’ü ekliyoruz
endlessbg3 = LK.getAsset('endlessbg3', {
anchorX: 0.5,
anchorY: 0.5
});
- endlessbg3.zIndex = 2101; // Explicitly set zIndex for endlessbg3
- endlessbg3.x = bg3son.x + bg3son.width / 2 + 450; // Move 450 pixels to the right
- endlessbg3.y = 2732 / 2 + 150; // Move 150 pixels down
+ // Düşük zIndex ile arka plan olarak ayarlanıyor
+ endlessbg3.zIndex = 1;
+ endlessbg3.x = bg3son.x + bg3son.width / 2 + 450;
+ endlessbg3.y = 2732 / 2 + 150;
game.addChild(endlessbg3);
- // Spawn another endlessbg3 600 pixels to the right of the existing endlessbg3
+ // Bir tane daha endlessbg3 spawn ediyoruz; yine düşük zIndex
var endlessbg3Child = LK.getAsset('endlessbg3', {
anchorX: 0.5,
anchorY: 0.5
});
- endlessbg3Child.zIndex = 2101;
- endlessbg3Child.x = endlessbg3.x + 600; // 600 pixels to the right
+ endlessbg3Child.zIndex = 1;
+ endlessbg3Child.x = endlessbg3.x + 600;
endlessbg3Child.y = endlessbg3.y;
- game.addChild(endlessbg3Child); // Add directly to the game stage
- // Keep bg3son stationary for 15 seconds, then move it left
+ game.addChild(endlessbg3Child);
+ // bg3son’un 15 saniye sonra sola hareket etmesini ayarlıyoruz
LK.setTimeout(function () {
bg3son.update = function () {
- this.x -= 2; // Global movement speed is maintained
+ this.x -= 2;
};
}, 15000);
}, fadeOutStepTime);
}
@@ -795,9 +799,9 @@
}
destroyAndRemove(enemies);
destroyAndRemove(flyinEnemies);
destroyAndRemove(coins);
- // Destroy background and tube_1
+ // background ve tube_1’i yok ediyoruz
for (var i = game.children.length - 1; i >= 0; i--) {
var child = game.children[i];
if (child.asset && (child.asset.name === 'background' || child.asset.name === 'tup_1')) {
child.destroy();
@@ -920,10 +924,10 @@
anchorX: 0,
anchorY: 0
});
overlay.alpha = 0;
- // Ensure overlay stays on top
- overlay.zIndex = 10000;
+ // Overlay’nin en üstte görünmemesi için zIndex’i düşük tutuyoruz (arka plana yakın)
+ overlay.zIndex = 1;
if (!overlay.parent) {
LK.stage.addChild(overlay);
}
var steps = 20;
Single 2D Mario Character. In-Game asset. 2d. Blank background.
2D Single Monster. In-Game asset. 2d. Blank background. High contrast. No shadows.. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
marionun ingiliz boru anahtarı aleti. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
red heart mario. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
completely black simple counter without sharp edges
sea and sky,pixel,realistic but detailles benzer renkler mavi ve mavi Single Game Texture. In-Game asset. 2d. Blank background. low contrast. No shadows