User prompt
place close button and x text 300 pixel left and 300 pixel down
Code edit (1 edits merged)
Please save this source code
User prompt
Aşağıdaki kod parçacıklarında istenen ayarlamaları nasıl yapabileceğinizi gösterdim. Değişiklikler özetle: Close Button "X" Texti: Font boyutunu %15 artırdık (30 → 35 yaklaşık). Konumunu 15 piksel yukarı, 10 piksel sola kaydırdık. Close Button: Genişlik ve yüksekliği %15 artırdık (örneğin, radius * 2 değerini 1.15 ile çarptık). Count (counterText): Yazı boyutunu %8 artırdık (100 → 108). PLAY, VOLUME, CREDITS, RECORDS Textleri: Her birinin fontSize değerini %6 artırdık (50 → yaklaşık 53). Ayrıca records modal içindeki skor yazısının fontSize’sini de (30 → yaklaşık 32) güncelledik. Aşağıda ilgili kısımların değiştirilmiş örnek kodunu görebilirsiniz: js Kopyala Düzenle // Count texti (counterText) %8 büyütülmüş: var counterText = new Text2('0', { size: 108, // eskiden 100 idi fill: 0xFFFFFF }); counterText.anchor.set(0, 0); counterText.x = 1320; counterText.y = 20; LK.gui.topLeft.addChild(counterText); js Kopyala Düzenle // PLAY, VOLUME, CREDITS, RECORDS textleri %6 büyütülmüş: var playLabel = new Text2("PLAY", { fontFamily: "Arial", fontSize: 53, // eskiden 50 idi fill: 0xffffff }); playLabel.anchorX = 0.5; playLabel.anchorY = 0.5; playLabel.x = playButton.x - 30; playLabel.y = playButton.y; playLabel.visible = true; menuContainer.addChild(playLabel); var volumeLabel = new Text2("VOLUME", { fontFamily: "Arial", fontSize: 53, // eskiden 50 idi fill: 0xffffff }); volumeLabel.anchorX = 0.5; volumeLabel.anchorY = 0.5; volumeLabel.x = volumeButton.x - 45; volumeLabel.y = volumeButton.y; volumeLabel.visible = true; menuContainer.addChild(volumeLabel); var creditsLabel = new Text2("CREDITS", { fontFamily: "Arial", fontSize: 53, // eskiden 50 idi fill: 0xffffff }); creditsLabel.anchorX = 0.5; creditsLabel.anchorY = 0.5; creditsLabel.x = creditsButton.x - 47; creditsLabel.y = creditsButton.y; creditsLabel.visible = true; menuContainer.addChild(creditsLabel); var recordsLabel = new Text2("RECORDS", { fontFamily: "Arial", fontSize: 53, // eskiden 50 idi fill: 0xffffff }); recordsLabel.anchorX = 0.5; recordsLabel.anchorY = 0.5; recordsLabel.x = recordsButton.x - 47; recordsLabel.y = recordsButton.y; recordsLabel.visible = true; menuContainer.addChild(recordsLabel); js Kopyala Düzenle // showRecords() fonksiyonundaki records modal içindeki skor yazısı, %6 büyütülmüş: var recordsText = new Text2(recordsTextStr, { fontFamily: "Arial", fontSize: 32, // eskiden 30 idi fill: 0xffffff, align: "center" }); recordsText.anchorX = 0.5; recordsText.anchorY = 0.5; recordsText.x = centerX(); recordsText.y = centerY() - 15; recordsText.anchor.set(0.5, 0.5); recordsContainer.addChild(recordsText); js Kopyala Düzenle // Kapatma butonunu ve X textini güncelleyelim: var radius = 25; var closeButton = LK.getAsset('button_close', { anchorX: 0.5, anchorY: 0.5, width: radius * 2 * 1.15, // %15 büyütme height: radius * 2 * 1.15 // %15 büyütme }); closeButton.anchorX = 0.5; closeButton.anchorY = 0.5; // Mevcut closeButton konumlandırma kodunuz burada kalabilir... recordsContainer.addChild(closeButton); // X metni için: var closeLabel = new Text2("X", { fontFamily: "Arial", fontSize: 35, // %15 büyütme (30 * 1.15 ≈ 35) fill: 0xffffff, align: "center" }); closeLabel.anchorX = 0.5; closeLabel.anchorY = 0.5; // Konumunu 15 pixel yukarı ve 10 pixel sola kaydırıyoruz: closeLabel.x = closeButton.x - 10; closeLabel.y = closeButton.y - 15; recordsContainer.addChild(closeLabel); Bu değişikliklerle istenen boyutlandırma ve konum ayarlamalarını yapmış olacaksınız. Kodunuzdaki diğer kısımları da ihtiyaca göre benzer şekilde güncelleyebilirsiniz.
User prompt
place x 15 bit up
User prompt
move close button 3 pixel up move text x 15 pixel up
User prompt
5 pixel left 8 pixel up
User prompt
15 pixel up 8 pixel left
User prompt
place x 10 pixel up 8 pixel left
User prompt
place text x 7 pixel up 5 pixel left
User prompt
3 pixel yukarı
User prompt
3 pixel yukarı
User prompt
3 pixel left
User prompt
move 4 pixel up 8 pixel left
User prompt
20 pixel left
User prompt
20 pixel left
User prompt
15 pixel sola 5 pixel yukarı
User prompt
200 pixel up 50 pixel left
User prompt
300 pixel left 600 pixel down
User prompt
place button_close 150 pixel left
User prompt
use button_close asset as close button
User prompt
sorun çözüldü records ekranını scale i koruyarak yüzde 25 büyült ve topscores attempts last score gibi textleri ortala
User prompt
ilk denememde 2 skor yaptım last score 0 yazdı 2. denememde 1 skor yaptım last score 0 yazdı son olarak 0 skor yaptım last score 0 yazdı Sorununuzun kaynağı, endGame() fonksiyonunda global lastScore değişkenini güncellemek yerine, aynı isimle yeni bir yerel değişken tanımlamanız. Bu yüzden global lastScore her zaman 0 kalıyor. Bunun yerine, var lastScore = passCounter; satırını global değişkeni güncelleyecek şekilde, yani sadece lastScore = passCounter; olarak değiştirmelisiniz. Bu sayede son oyunda elde ettiğiniz skor doğru şekilde güncellenecektir.
User prompt
Please fix the bug: 'Uncaught ReferenceError: lastScore is not defined' in or related to this line: 'recordsTextStr += "\nLast Score: " + lastScore; // Display the last score correctly' Line Number: 463
User prompt
1.deneme skor 2 2. deneme skor 1 3. deneme skor 0 bunları doğru yazdı last score ,ancak 4. denememde skoru 3 yapmama rağmen last score 0 yazdı çözümü şu Sorunun temelinde, skoru "last score" olarak göstermek için kullanılan dizideki sıralamanın yatıyor. Her oyun sonunda, yeni skor şu şekilde kaydediliyor: js Kopyala Düzenle records.push({ score: passCounter, attempt: records.length + 1 }); records.sort(function (a, b) { return b.score - a.score; }); Bu kod, kayıtları yüksekten düşüğe sıraladığı için dizinin son elemanı en düşük skoru temsil ediyor, en son yapılan oyunun skoru değil. Dolayısıyla 4. denemenizde skor 3 olsa da, daha düşük bir skor (örneğin 0) dizinin sonuna yerleştiği için "last score" 0 olarak görünüyor. Eğer "last score" olarak en son yapılan denemenin skorunu göstermek istiyorsanız, bunu ayrı bir değişkende saklamanız veya sıralamadan önceki kaydı kullanmanız gerekecek. Örneğin: Yeni bir değişken tanımlayabilirsiniz: js Kopyala Düzenle var lastScore = passCounter; ve bunu records.push işleminden sonra atayabilirsiniz. Veya "last score" bilgisini, sıralamadan önceki kaydı (örneğin, records[records.length - 1] kaydı) saklayabilirsiniz. Bu şekilde, son oyunun skoru doğru olarak görüntülenir.
User prompt
skor 1 idi ancak last skor 0 yazıyor
/**** * Classes ****/ // Character: Dokunulduğunda zıplar. var Character = Container.expand(function () { var self = Container.call(this); self.attachAsset('character', { anchorX: 0.5, anchorY: 0.5 }); self.zIndex = 4; self.velocityY = 0; self.gravity = 0.3; self.jumpStrength = -12; self.width = 350; self.height = 300; self.update = function () { if (gameStarted && !gameOver) { self.velocityY += self.gravity; self.y += self.velocityY; if (self.y > groundY - 100) { self.y = groundY - 100; self.velocityY = 0; gameOver = true; endGame(); } var characterLeft = self.x - self.width / 2; var characterRight = self.x + self.width / 2; var characterTop = self.y - self.height / 2; var characterBottom = self.y + self.height / 2; if (characterLeft + self.width / 2 < 0 || characterRight - self.width / 2 > screenRight || characterTop + self.height / 2 < 0 || characterBottom - self.height / 2 > groundY) { gameOver = true; endGame(); } // Çarpışma kontrolü: Tube ve Tree game.children.forEach(function (child) { if (child instanceof Tube) { var tubeLeft = child.x - child.bottomTube.width / 2; var tubeRight = child.x + child.bottomTube.width / 2; var safeGapLowerEdge = child.y - child.bottomTube.height; var safeGapUpperEdge = -gapOffset + child.topTube.height; if (self.x + self.width / 2 > tubeLeft && self.x - self.width / 2 < tubeRight) { if (self.y < safeGapUpperEdge || self.y > safeGapLowerEdge) { gameOver = true; endGame(); } } } else if (child instanceof Tree) { var treeLeft = child.x - child.bottomTree.width / 2; var treeRight = child.x + child.bottomTree.width / 2; var safeGapLowerEdge = child.y - child.bottomTree.height; var safeGapUpperEdge = -gapOffset + child.topTree.height; if (self.x + self.width / 2 > treeLeft && self.x - self.width / 2 < treeRight) { if (self.y < safeGapUpperEdge || self.y > safeGapLowerEdge) { gameOver = true; endGame(); } } } }); } }; self.jump = function () { if (!gameOver) { self.velocityY = self.jumpStrength; } }; return self; }); // GameOverText class var GameOverText = Container.expand(function () { var self = Container.call(this); self.text = new Text2("GAME OVER", { fontFamily: "Arial", fontSize: 2250, fill: 0xFF0000, align: "center", fontWeight: "bold" }); self.text.anchorX = 0.5; self.text.anchorY = 0.5; self.addChild(self.text); self.zIndex = 100; return self; }); // Tree class: Üst ve alt ağaç oluşturma var Tree = Container.expand(function () { var self = Container.call(this); var bottomUnit = Math.floor(Math.random() * 8) + 1; var topUnit = 9 - bottomUnit; var unitSize = groundY / totalUnits; var bottomHeight = bottomUnit * unitSize; var topHeight = topUnit * unitSize; self.y = groundY; self.bottomTree = self.attachAsset('tree', { anchorX: 0.5, anchorY: 1, width: 300, height: bottomHeight, flipY: false }); self.topTree = self.attachAsset('tree', { anchorX: 0.5, anchorY: 0.5, width: 300, height: topHeight, flipY: false }); self.topTree.rotation = Math.PI; self.topTree.y = -groundY - gapOffset + topHeight / 2; self.zIndex = 1; self.x = 2048 + 800; self.velocityX = -3.6; self.spawned = false; self.prevX = self.x; self.update = function () { if (gameStarted && !gameOver) { self.x += self.velocityX; if (!self.spawned && self.prevX > treeSpawnThreshold && self.x <= treeSpawnThreshold) { self.spawned = true; var newTube = new Tube(); newTube.x = 2048 + 800; game.addChild(newTube); lastSpawner = newTube; } self.prevX = self.x; if (!self.passed && character.x > self.x + self.bottomTree.width / 2) { self.passed = true; passCounter += 1; counterText.setText(passCounter); } } }; return self; }); // Tube class: Üst ve alt boru oluşturma var Tube = Container.expand(function () { var self = Container.call(this); var bottomUnit = Math.floor(Math.random() * 8) + 1; var topUnit = 9 - bottomUnit; var unitSize = groundY / totalUnits; var bottomHeight = bottomUnit * unitSize; var topHeight = topUnit * unitSize; self.y = groundY; self.bottomTube = self.attachAsset('tube', { anchorX: 0.5, anchorY: 1, width: 300, height: bottomHeight, flipY: false }); self.topTube = self.attachAsset('tube', { anchorX: 0.5, anchorY: 0.5, width: 300, height: topHeight, flipY: false }); self.topTube.rotation = Math.PI; self.topTube.y = -groundY - gapOffset + topHeight / 2; self.zIndex = 1; self.x = 2048 + 800; self.velocityX = -3.6; self.spawned = false; self.prevX = self.x; self.update = function () { if (gameStarted && !gameOver) { self.x += self.velocityX; if (!self.spawned && self.prevX > tubeSpawnThreshold && self.x <= tubeSpawnThreshold) { self.spawned = true; var newTree = new Tree(); newTree.x = 2048 + 800; game.addChild(newTree); lastSpawner = newTree; } self.prevX = self.x; if (!self.passed && character.x > self.x + self.bottomTube.width / 2) { self.passed = true; passCounter += 1; counterText.setText(passCounter); } } }; return self; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x000000 }); /**** * Game Code ****/ /**** * Global Variables & Helper Functions ****/ var groundY = 2732; var menuOpen = true; var volumeOn = true; var records = []; // En iyi 5 skoru saklar var gapOffset = 400; var gameStarted = false; var gameOver = false; var screenRight = 2048; var totalUnits = 10; var tubeSpawnThreshold, treeSpawnThreshold; var lastSpawner = null; var gameOverText = null; var passCounter = 0; var lastScore = 0; // Initialize lastScore in the global scope function centerX() { return 2048 / 2; } function centerY() { return groundY / 2; } tubeSpawnThreshold = centerX() + (screenRight - centerX()) / 2; treeSpawnThreshold = centerX() + 3 * (screenRight - centerX()) / 4; /**** * Menu Setup ****/ var menuContainer = new Container(); menuContainer.zIndex = 200; // Menü arka planları var menuBackground = LK.getAsset('menu_background', { anchorX: 0.5, anchorY: 0.5, x: centerX(), y: centerY() }); menuBackground.zIndex = 200; menuContainer.addChild(menuBackground); var menuBackgroundPart = LK.getAsset('menu_background_part', { anchorX: 0.5, anchorY: 0.19, x: centerX(), y: centerY() }); menuBackgroundPart.zIndex = menuBackground.zIndex + 1; // 201 menuContainer.addChild(menuBackgroundPart); // Butonlar ve Label’lar (buton şekilleri başlangıçta görünmez, metinler her zaman görünür) var playButton = LK.getAsset('button_play', { anchorX: 0.5, anchorY: 0.5, x: centerX() - 40, y: centerY() + 239 }); playButton.visible = false; menuContainer.addChild(playButton); var playLabel = new Text2("PLAY", { fontFamily: "Arial", fontSize: 50, fill: 0xffffff }); playLabel.anchorX = 0.5; playLabel.anchorY = 0.5; playLabel.x = playButton.x - 30; playLabel.y = playButton.y; playLabel.visible = true; menuContainer.addChild(playLabel); var volumeButton = LK.getAsset('button_volume', { anchorX: 0.5, anchorY: 0.5, x: centerX() - 40, y: centerY() + 355 }); volumeButton.visible = false; menuContainer.addChild(volumeButton); var volumeLabel = new Text2("VOLUME", { fontFamily: "Arial", fontSize: 50, fill: 0xffffff }); volumeLabel.anchorX = 0.5; volumeLabel.anchorY = 0.5; volumeLabel.x = volumeButton.x - 45; volumeLabel.y = volumeButton.y; volumeLabel.visible = true; menuContainer.addChild(volumeLabel); var creditsButton = LK.getAsset('button_credits', { anchorX: 0.5, anchorY: 0.5, x: centerX() - 40, y: centerY() + 461 }); creditsButton.visible = false; menuContainer.addChild(creditsButton); var creditsLabel = new Text2("CREDITS", { fontFamily: "Arial", fontSize: 50, fill: 0xffffff }); creditsLabel.anchorX = 0.5; creditsLabel.anchorY = 0.5; creditsLabel.x = creditsButton.x - 47; creditsLabel.y = creditsButton.y; creditsLabel.visible = true; menuContainer.addChild(creditsLabel); var recordsButton = LK.getAsset('button_records', { anchorX: 0.5, anchorY: 0.5, x: centerX() - 40, y: centerY() + 577 }); recordsButton.visible = false; menuContainer.addChild(recordsButton); var recordsLabel = new Text2("RECORDS", { fontFamily: "Arial", fontSize: 50, fill: 0xffffff }); recordsLabel.anchorX = 0.5; recordsLabel.anchorY = 0.5; recordsLabel.x = recordsButton.x - 47; recordsLabel.y = recordsButton.y; recordsLabel.visible = true; menuContainer.addChild(recordsLabel); // Fare hareketinde hover kontrolü: butonlar yalnızca imleç üzerindeyken görünür olur game.move = function (x, y, obj) { // PLAY if (x >= playButton.x - playButton.width / 2 && x <= playButton.x + playButton.width / 2 && y >= playButton.y - playButton.height / 2 && y <= playButton.y + playButton.height / 2) { playButton.visible = true; } else { playButton.visible = false; } // VOLUME if (x >= volumeButton.x - volumeButton.width / 2 && x <= volumeButton.x + volumeButton.width / 2 && y >= volumeButton.y - volumeButton.height / 2 && y <= volumeButton.y + volumeButton.height / 2) { volumeButton.visible = true; } else { volumeButton.visible = false; } // CREDITS if (x >= creditsButton.x - creditsButton.width / 2 && x <= creditsButton.x + creditsButton.width / 2 && y >= creditsButton.y - creditsButton.height / 2 && y <= creditsButton.y + creditsButton.height / 2) { creditsButton.visible = true; } else { creditsButton.visible = false; } // RECORDS if (x >= recordsButton.x - recordsButton.width / 2 && x <= recordsButton.x + recordsButton.width / 2 && y >= recordsButton.y - recordsButton.height / 2 && y <= recordsButton.y + recordsButton.height / 2) { recordsButton.visible = true; } else { recordsButton.visible = false; } }; var counterText = new Text2('0', { size: 100, fill: 0xFFFFFF }); counterText.anchor.set(0, 0); counterText.x = 1320; counterText.y = 20; LK.gui.topLeft.addChild(counterText); var background = LK.getAsset('background', { anchorX: 0.5, anchorY: 0.5, x: centerX(), y: groundY / 2 }); background.zIndex = 0; game.addChild(background); var sky = LK.getAsset('sky', { anchorX: 0.5, anchorY: 0, x: centerX(), y: 0 }); sky.zIndex = 2; game.addChild(sky); var groundAsset = LK.getAsset('ground', { anchorX: 0.5, anchorY: 0.5, x: centerX(), y: groundY - -25 }); groundAsset.zIndex = 4.1; game.addChild(groundAsset); var ground2Asset = LK.getAsset('ground2', { anchorX: 0.5, anchorY: 0.5, x: centerX(), y: groundY - 40 }); ground2Asset.zIndex = 0.5; game.addChild(ground2Asset); // İlk karakter oluşturulması var character = game.addChild(new Character()); character.x = centerX(); character.y = groundY / 2; game.addChild(menuContainer); /**** * Helper Functions: Credits & Records ****/ function showCredits() { var creditsContainer = new Container(); creditsContainer.zIndex = 300; var bg = LK.getAsset('button_credits', { anchorX: 0.5, anchorY: 0.5, width: 500, height: 300, color: 0x000000 }); bg.x = centerX(); bg.y = centerY(); creditsContainer.addChild(bg); var creditsText = new Text2("Game by YourName", { fontFamily: "Arial", fontSize: 30, fill: 0xffffff }); creditsText.anchorX = 0.5; creditsText.anchorY = 0.5; creditsText.x = centerX(); creditsText.y = centerY(); creditsContainer.addChild(creditsText); game.addChild(creditsContainer); LK.setTimeout(function () { game.removeChild(creditsContainer); }, 3000); } function showRecords() { var recordsContainer = new Container(); recordsContainer.zIndex = 300; // Arka plan var bg = LK.getAsset('button_credits', { anchorX: 0.5, anchorY: 0.5, width: 1250, // Increased by 25% height: 2000, // Increased by 25% color: 0x000000 }); bg.x = centerX(); bg.y = centerY(); recordsContainer.addChild(bg); // Skor metni var recordsTextStr = "Top Scores:\n"; for (var i = 0; i < records.length; i++) { recordsTextStr += i + 1 + ". " + records[i].score + " (Attempt " + records[i].attempt + ")\n"; } if (records.length === 0) { recordsTextStr += "No records yet."; } recordsTextStr += "\nAttempts: " + records.length; recordsTextStr += "\nLast Score: " + lastScore; // Display the last score correctly var recordsText = new Text2(recordsTextStr, { fontFamily: "Arial", fontSize: 30, fill: 0xffffff, align: "center" }); recordsText.anchorX = 0.5; recordsText.anchorY = 0.5; recordsText.x = centerX(); recordsText.y = centerY() - 15; recordsText.anchor.set(0.5, 0.5); // Center the text recordsContainer.addChild(recordsText); // Kapatma butonu: Kırmızı, yuvarlak daire var radius = 25; var closeButton = LK.getAsset('button_close', { anchorX: 0.5, anchorY: 0.5, width: radius * 2, height: radius * 2 }); closeButton.anchorX = 0.5; closeButton.anchorY = 0.5; closeButton.x = screenRight - radius - 10 - 300 - 50 - 15 - 20 - 20 - 8 - 3; closeButton.y = radius + 10 + 600 - 200 - 5 - 4 - 3 - 3 - 3; recordsContainer.addChild(closeButton); // Kapatma butonundaki "X" metni var closeLabel = new Text2("X", { fontFamily: "Arial", fontSize: 30, fill: 0xffffff, align: "center" }); closeLabel.anchorX = 0.5; closeLabel.anchorY = 0.5; closeLabel.x = closeButton.x; closeLabel.y = closeButton.y; recordsContainer.addChild(closeLabel); // Kapatma butonuna tıklayınca recordsContainer'ı kapat closeButton.on('down', function () { game.removeChild(recordsContainer); menuOpen = true; menuContainer.visible = true; }); game.addChild(recordsContainer); } /**** * End Game & Reset Functions ****/ function endGame() { LK.effects.flashScreen(0xFF0000, 500); character.velocityY = character.jumpStrength; character.update = function () { if (gameOver) { character.velocityY += character.gravity; character.y += character.velocityY; if (character.y > groundY + character.height) { character.y = groundY + character.height; character.velocityY = 0; } } }; game.children.forEach(function (child) { if (child.velocityX) { child.velocityX = 0; } }); game.touchDisabled = true; lastScore = passCounter; // Update the global lastScore variable records.push({ score: passCounter, attempt: records.length + 1 }); records.sort(function (a, b) { return b.score - a.score; }); if (records.length > 5) { records = records.slice(0, 5); } LK.setTimeout(function () { game.touchDisabled = false; menuOpen = true; menuContainer.visible = true; }, 2000); LK.setTimeout(function () { resetGame(); }, 2000); } function resetGame() { // Eğer varsa GameOverText kaldırılıyor if (gameOverText) { game.removeChild(gameOverText); gameOverText = null; } // Tüm Tree ve Tube öğeleri kaldırılıyor var objectsToRemove = []; game.children.forEach(function (child) { if (child instanceof Tree || child instanceof Tube) { objectsToRemove.push(child); } }); objectsToRemove.forEach(function (obj) { game.removeChild(obj); }); // Eski karakter kaldırılıyor ve yeni bir instance oluşturuluyor game.removeChild(character); character = game.addChild(new Character()); character.x = centerX(); character.y = groundY / 2; gameStarted = false; gameOver = false; lastSpawner = null; passCounter = 0; counterText.setText(passCounter); } /**** * Touch Event ****/ game.down = function (x, y, obj) { // Menü açıkken, dokunulan koordinatların PLAY, VOLUME, CREDITS, RECORDS buton alanlarına düşüp düşmediğini kontrol et. if (menuOpen) { // PLAY buton alanı if (x >= playButton.x - playButton.width / 2 && x <= playButton.x + playButton.width / 2 && y >= playButton.y - playButton.height / 2 && y <= playButton.y + playButton.height / 2) { menuOpen = false; menuContainer.visible = false; gameStarted = true; var initialTube = new Tube(); game.addChild(initialTube); lastSpawner = initialTube; return; } else if (x >= volumeButton.x - volumeButton.width / 2 && x <= volumeButton.x + volumeButton.width / 2 && y >= volumeButton.y - volumeButton.height / 2 && y <= volumeButton.y + volumeButton.height / 2) { volumeOn = !volumeOn; } else if (x >= creditsButton.x - creditsButton.width / 2 && x <= creditsButton.x + creditsButton.width / 2 && y >= creditsButton.y - creditsButton.height / 2 && y <= creditsButton.y + creditsButton.height / 2) { showCredits(); } else if (x >= recordsButton.x - recordsButton.width / 2 && x <= recordsButton.x + recordsButton.width / 2 && y >= recordsButton.y - recordsButton.height / 2 && y <= recordsButton.y + recordsButton.height / 2) { showRecords(); } return; } else if (gameOver) { if (!game.touchDisabled) { menuOpen = true; menuContainer.visible = true; resetGame(); } } else { character.jump(); character.rotation = 0.1; LK.setTimeout(function () { character.rotation = 0; }, 200); } }; /**** * Game Loop ****/ game.update = function () { game.children.forEach(function (child) { if (child.update) { child.update(); } }); game.children.sort(function (a, b) { return (a.zIndex || 0) - (b.zIndex || 0); }); };
===================================================================
--- original.js
+++ change.js
@@ -313,10 +313,10 @@
fill: 0xffffff
});
recordsLabel.anchorX = 0.5;
recordsLabel.anchorY = 0.5;
-recordsLabel.x = recordsButton.x - 47 - 5 - 8 - 8 - 5;
-recordsLabel.y = recordsButton.y - 7 - 10 - 15 - 8;
+recordsLabel.x = recordsButton.x - 47;
+recordsLabel.y = recordsButton.y;
recordsLabel.visible = true;
menuContainer.addChild(recordsLabel);
// Fare hareketinde hover kontrolü: butonlar yalnızca imleç üzerindeyken görünür olur
game.move = function (x, y, obj) {
@@ -455,9 +455,9 @@
});
recordsText.anchorX = 0.5;
recordsText.anchorY = 0.5;
recordsText.x = centerX();
- recordsText.y = centerY();
+ recordsText.y = centerY() - 15;
recordsText.anchor.set(0.5, 0.5); // Center the text
recordsContainer.addChild(recordsText);
// Kapatma butonu: Kırmızı, yuvarlak daire
var radius = 25;
@@ -469,9 +469,9 @@
});
closeButton.anchorX = 0.5;
closeButton.anchorY = 0.5;
closeButton.x = screenRight - radius - 10 - 300 - 50 - 15 - 20 - 20 - 8 - 3;
- closeButton.y = radius + 10 + 600 - 200 - 5 - 4 - 3 - 3;
+ closeButton.y = radius + 10 + 600 - 200 - 5 - 4 - 3 - 3 - 3;
recordsContainer.addChild(closeButton);
// Kapatma butonundaki "X" metni
var closeLabel = new Text2("X", {
fontFamily: "Arial",