User prompt
150 pixel yukaru taşı
User prompt
250 pixel yukarı taşı
User prompt
400 pixel yukarı taşı
User prompt
76 pixel sağa
User prompt
credits ekranındaki game by mustafa talha şen 400 pixel sola taşı
User prompt
credits ekranındaki game by mustafa talha şen game Game by Mustafa Talha ŞEN alt alt yazılsn
User prompt
30 pixel sola 150 pixel yukarı taşı
User prompt
450 pixel daha yukarı taşı
User prompt
300 pixel yukarı taşı
User prompt
50 pixel sağa taşı
User prompt
100 pixel daha sola taşı
User prompt
recordsun içindeki top scores no attempts last score yazan yeri 200 pixel sola taşı
Code edit (1 edits merged)
Please save this source code
User prompt
Görüntüde metnin belirgin şekilde büyüdüğü görülüyor; bu da font boyutunu artırma işleminin işe yaradığını gösteriyor. Eğer daha da büyük veya farklı bir konumlandırma isterseniz, aşağıdaki ek ayarları yapabilirsiniz: Metni Daha da Büyütmek: fontSize değerini daha da yükseltebilir veya recordsText.scale.set(1.5, 1.5) gibi bir ölçek uygulayabilirsiniz (örneğin 1.5, 2, 3, vb.). Metnin Ekrandaki Konumunu Ayarlamak: js Kopyala Düzenle recordsText.x = centerX(); // Yatayda ortalar recordsText.y = centerY() - 50; // Metni biraz yukarı taşır (örnek -50) Bu sayede ekrana göre konumu istediğiniz gibi değiştirebilirsiniz. Satır Aralıkları (Line Spacing) veya Stil: Metin satırları arasındaki boşluğu artırmak istiyorsanız, ne yazık ki Text2 nesnesinde doğrudan bir “lineSpacing” parametresi olmayabilir. Fakat \n ekleyerek aralara boş satır koyabilir veya her satırı ayrı bir Text2 nesnesi olarak ekleyip konumlarını ayarlayabilirsiniz. Container Ölçeklendirmesi: Eğer sadece metni değil, açılan pencerenin tamamını (arka plan, close buton, vb.) büyütmek isterseniz, js Kopyala Düzenle recordsContainer.scale.set(1.2, 1.2); gibi bir ölçek uygulayabilirsiniz. Özetle, fontSize, scale ve x–y konumları ile oynayarak istediğiniz büyüklük ve yerleşimi yakalayabilirsiniz. Şu anki durumda metin epey okunaklı görünüyor; daha fazla büyütmek veya ekranın başka bir yerine taşımak için yukarıdaki yöntemleri deneyebilirsiniz.
User prompt
1) Metnin scale Özelliğini Kullanma Text2 nesnesinin scale.set(x, y) şeklinde ölçeklendirilmesi, ek olarak boyut kazandırabilir. Örneğin: js Kopyala Düzenle var recordsText = new Text2(recordsTextStr, { fontFamily: "Arial", fontSize: 3000, fill: 0xffffff, align: "center" }); // Normal konumlandırma recordsText.anchorX = 0.5; recordsText.anchorY = 0.5; recordsText.x = centerX(); recordsText.y = centerY(); // Ölçeği daha da büyütmek için recordsText.scale.set(2, 2); // 2 kat daha büyük Bu sayede fontSize + scale çarpanıyla ekrana daha büyük yansıtırsınız. Eğer hâlâ küçük kalıyorsa scale.set(5, 5) gibi daha büyük bir değer de deneyebilirsiniz. 2) Container’ı Ölçeklendirme Metni içeren recordsContainer veya creditsContainer gibi Container’lara da ölçek uygulayabilirsiniz. Örneğin: js Kopyala Düzenle recordsContainer.scale.set(2, 2); Bu durumda, container içindeki her şey (arka plan, metin, close butonu vs.) 2 kat büyük görünür. Eğer close buton ve background da büyüsün istemiyorsanız, sadece text nesnesine scale uygulamak daha mantıklı olur. 3) Canvas veya Oyun Boyutu Kontrolü Bazı durumlarda, tarayıcıya sığdırma veya devicePixelRatio gibi etkenler, Canvas boyutunu çok büyütüp metni küçük gösterir. Aşağıdakileri kontrol edin: Oyun/Canvas boyutunuz ne kadar büyük? 4K bir ekranda (3840×2160) tam ekran açılıyorsa, 3000’lik font bile görece küçük kalabilir. Tarayıcı yakınlaştırma (zoom) ayarınız var mı? Oyun ayarlarında bir “responsive scale” vs. özelliği var mı? 4) Metnin Ekranda Taşma Durumu Çok büyük fontlarda metin ekrandan taşabilir veya container’ın dışında kalabilir. Bunu anlamak için: Metni ortalamak için recordsText.x = centerX() ve recordsText.y = centerY() gibi ayarlayıp, Metni gerçekten çok büyük (fontSize: 5000 veya scale.set(5,5)) yaparak test edin. Eğer metin ekrandan taşarsa, ortasından “kesik” görebilirsiniz. Bu durumda yeriyle oynamanız gerekebilir. 5) Özet Öneriler FontSize’i çok daha yüksek değerlerde deneyin (3000–10000 gibi). Ek olarak recordsText.scale.set(x, x) şeklinde ölçek uygulayarak boyutu daha da artırabilirsiniz. Canvas veya oyunun genel ölçülerini (örneğin, CSS üzerinden width/height ayarlarını) kontrol edin. Çok yüksek çözünürlüklü ekranda normalden büyük fontlar bile küçük görünebilir. Metnin ekrandan taşmadığından emin olmak için ortalama (centerX, centerY) yapıp y konumunu biraz ayarlayarak deneyin. Bu adımları izleyerek metnin boyutunu oldukça belirgin şekilde büyütebilirsiniz. Özellikle scale kullanmak, bazen dev font değerleri girmekten daha pratik olabilir.
User prompt
Aşağıda, credits ve records ekranında yazıları gözle görülür şekilde çok daha büyük gösterecek örnek bir ayar yaptım: 1) Credits Ekranı js Kopyala Düzenle function showCredits() { var creditsContainer = new Container(); creditsContainer.zIndex = 300; var modalWidth = 1250, modalHeight = 2000; var bg = LK.getAsset('button_credits', { anchorX: 0.5, anchorY: 0.5, width: modalWidth, height: modalHeight, color: 0x000000 }); bg.x = centerX(); bg.y = centerY(); creditsContainer.addChild(bg); // Metni çok daha büyük yapmak için fontSize'i 3000 gibi bir değere çekelim: var creditsText = new Text2("Game by Mustafa Talha ŞEN", { fontFamily: "Arial", fontSize: 3000, // 20 kat yerine çok daha yüksek fill: 0xffffff }); creditsText.anchorX = 0.5; creditsText.anchorY = 0.5; // Konumu biraz ortalayın: creditsText.x = centerX(); creditsText.y = centerY(); creditsContainer.addChild(creditsText); var commonClose = createCommonCloseElements(modalWidth, modalHeight); creditsContainer.addChild(commonClose.closeButton); creditsContainer.addChild(commonClose.closeLabel); commonClose.closeButton.on('down', function () { game.removeChild(creditsContainer); menuOpen = true; menuContainer.visible = true; }); game.addChild(creditsContainer); } Bu örnekte fontSize: 3000 verdim. Siz daha küçük (örneğin 2000) veya daha büyük (örneğin 5000) deneyebilirsiniz. Aradaki farkı görmek için birkaç farklı değer denemek faydalı olur. 2) Records Ekranı js Kopyala Düzenle function showRecords() { var recordsContainer = new Container(); recordsContainer.zIndex = 300; var modalWidth = 1500, modalHeight = 2200; var bg = LK.getAsset('button_credits', { anchorX: 0.5, anchorY: 0.5, width: modalWidth, height: modalHeight, color: 0x000000 }); bg.x = centerX(); bg.y = centerY(); recordsContainer.addChild(bg); 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; // 10 kat büyütme yerine çok daha büyük (ör. 2000, 3000, 4000...): var recordsText = new Text2(recordsTextStr, { fontFamily: "Arial", fontSize: 3000, // Burada 3200 yerine 3000 örnek fill: 0xffffff, align: "center" }); recordsText.anchorX = 0.5; recordsText.anchorY = 0.5; recordsText.x = centerX(); recordsText.y = centerY(); recordsContainer.addChild(recordsText); var commonClose = createCommonCloseElements(modalWidth, modalHeight); recordsContainer.addChild(commonClose.closeButton); recordsContainer.addChild(commonClose.closeLabel); commonClose.closeButton.on('down', function () { game.removeChild(recordsContainer); menuOpen = true; menuContainer.visible = true; }); game.addChild(recordsContainer); }
User prompt
şağıda, showCredits() fonksiyonunda yer alan "Game by Mustafa Talha ŞEN" metninin fontSize değeri 30’dan 600 (yani 20 kat) yapıldıktan sonra, showRecords() fonksiyonundaki records metinlerinin fontSize değeri 320’dan 3200 (10 kat) olarak güncellendi: js Kopyala Düzenle function showCredits() { var creditsContainer = new Container(); creditsContainer.zIndex = 300; // Modal boyutu: 1250x2000 var modalWidth = 1250, modalHeight = 2000; var bg = LK.getAsset('button_credits', { anchorX: 0.5, anchorY: 0.5, width: modalWidth, height: modalHeight, color: 0x000000 }); bg.x = centerX(); bg.y = centerY(); creditsContainer.addChild(bg); // Font boyutu 20 kat büyütüldü: (30 -> 600) var creditsText = new Text2("Game by Mustafa Talha ŞEN", { fontFamily: "Arial", fontSize: 600, fill: 0xffffff }); creditsText.anchorX = 0.5; creditsText.anchorY = 0.5; creditsText.x = centerX() - 150; creditsText.y = centerY() - 6; creditsContainer.addChild(creditsText); var commonClose = createCommonCloseElements(modalWidth, modalHeight); creditsContainer.addChild(commonClose.closeButton); creditsContainer.addChild(commonClose.closeLabel); commonClose.closeButton.on('down', function () { game.removeChild(creditsContainer); menuOpen = true; menuContainer.visible = true; }); game.addChild(creditsContainer); } js Kopyala Düzenle function showRecords() { var recordsContainer = new Container(); recordsContainer.zIndex = 300; var modalWidth = 1500, modalHeight = 2200; var bg = LK.getAsset('button_credits', { anchorX: 0.5, anchorY: 0.5, width: modalWidth, height: modalHeight, color: 0x000000 }); bg.x = centerX(); bg.y = centerY(); recordsContainer.addChild(bg); 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; // Font boyutu 10 kat büyütüldü: (32 -> 3200) var recordsText = new Text2(recordsTextStr, { fontFamily: "Arial", fontSize: 3200, fill: 0xffffff, align: "center" }); recordsText.anchorX = 0.5; recordsText.anchorY = 0.5; recordsText.x = centerX() - 70; recordsText.y = centerY() - 38; recordsContainer.addChild(recordsText); var commonClose = createCommonCloseElements(modalWidth, modalHeight); recordsContainer.addChild(commonClose.closeButton); recordsContainer.addChild(commonClose.closeLabel); commonClose.closeButton.on('down', function () { game.removeChild(recordsContainer); menuOpen = true; menuContainer.visible = true; }); game.addChild(recordsContainer); } Ayrıca, counterText'in y konumunu 3 piksel aşağıya getirmek için: js Kopyala Düzenle counterText.y = 10; // Önceki 7'den 10 oldu. Bu güncellemelerle, credits içindeki metin 20 kat, records içindeki metin 10 kat büyütülmüş olacaktır.
User prompt
Increase the font size of the credits text 10 time bigger
User prompt
make the font way bigger
User prompt
PLACE game by mustafa talha şen 150 pixel left
User prompt
credits Game by Mustafa Talha ŞEN
Code edit (1 edits merged)
Please save this source code
Code edit (1 edits merged)
Please save this source code
User prompt
move close button 1 pixel left move x text 15 pixel right
User prompt
Move the 'X' text 15 pixels to the right keep cloose buttons location the same
/**** * 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; // Global lastScore variable 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) // PLAY 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: 63.25, // 15% artış from 55 fill: 0xffffff }); playLabel.anchorX = 0.5; playLabel.anchorY = 0.5; playLabel.x = playButton.x - 30; playLabel.y = playButton.y - 12; playLabel.visible = true; playLabel.zIndex = 1000; // diğer öğelerden yüksek menuContainer.addChild(playLabel); // VOLUME 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: 63.25 * 1.1, // 15% artış fill: 0xffffff }); volumeLabel.anchorX = 0.5; volumeLabel.anchorY = 0.5; volumeLabel.x = volumeButton.x - 45; // Volume textini 12 piksel yukarı taşıyoruz: volumeLabel.y = volumeButton.y - 12; volumeLabel.visible = true; volumeLabel.zIndex = 1000; menuContainer.addChild(volumeLabel); // CREDITS var creditsButton = LK.getAsset('button_credits', { anchorX: 0.5, anchorY: 0.5, x: centerX() - 40, y: centerY() + 471 }); creditsButton.visible = false; menuContainer.addChild(creditsButton); var creditsLabel = new Text2("CREDITS", { fontFamily: "Arial", fontSize: 63.25, // 15% artış fill: 0xffffff }); creditsLabel.anchorX = 0.5; creditsLabel.anchorY = 0.5; creditsLabel.x = creditsButton.x - 47; creditsLabel.y = creditsButton.y - 16; creditsLabel.visible = true; creditsLabel.zIndex = 1000; menuContainer.addChild(creditsLabel); // RECORDS 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: 150.25, // örnek: 15% artış from 55 fill: 0xffffff }); recordsLabel.anchorX = 0.5; recordsLabel.anchorY = 0.5; recordsLabel.x = recordsButton.x - 47; // Records textini 12 piksel yukarı taşıyoruz: recordsLabel.y = recordsButton.y - 12; recordsLabel.visible = true; recordsLabel.zIndex = 1000; menuContainer.addChild(recordsLabel); // Fare hareketinde hover kontrolü: butonlar yalnızca imleç üzerindeyken görünür game.move = function (x, y, obj) { 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; } 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; } 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; } 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: 124.2, // 15% artış from 108 fill: 0xFFFFFF }); counterText.anchor.set(0, 0); counterText.x = 1320; counterText.y = 10; 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); var character = game.addChild(new Character()); character.x = centerX(); character.y = groundY / 2; game.addChild(menuContainer); /**** * Helper Functions: Credits, Volume & Records ****/ function createCommonCloseElements(modalWidth, modalHeight) { // close label: base close label font size (hesaplanmış değeri 35 * 1.16 * 1.15 * 1.1 * 1.2 ≈ 62) var closeLabel = new Text2("X", { fontFamily: "Arial", fontSize: Math.round(35 * 1.16 * 1.15), fill: 0xffffff, align: "center" }); closeLabel.anchorX = 0.5; closeLabel.anchorY = 0.5; closeLabel.zIndex = 10000; // Konum: sağ üst köşeye yakın (20px offset) closeLabel.x = centerX() + modalWidth / 2 - 65; closeLabel.y = centerY() - modalHeight / 2 + 40; // close button var radius = 25; var closeButton = LK.getAsset('button_close', { anchorX: 0.5, anchorY: 0.5, width: radius * 2.3 * 1.2, height: radius * 2.3 * 1.2 }); closeButton.zIndex = 10000; closeButton.x = closeLabel.x + 7; closeButton.y = closeLabel.y + 16; return { closeLabel: closeLabel, closeButton: closeButton }; } function showCredits() { var creditsContainer = new Container(); creditsContainer.zIndex = 300; // Modal boyutu: 1250x2000 var modalWidth = 1250, modalHeight = 2000; var bg = LK.getAsset('button_credits', { anchorX: 0.5, anchorY: 0.5, width: modalWidth, height: modalHeight, color: 0x000000 }); bg.x = centerX(); bg.y = centerY(); creditsContainer.addChild(bg); var creditsText = new Text2("Game by\nMustafa Talha ŞEN", { fontFamily: "Arial", fontSize: 5000, fill: 0xffffff, align: "center" // Align text to center }); creditsText.anchorX = 0.5; creditsText.anchorY = 0.5; creditsText.x = centerX() - 324; creditsText.y = centerY() - 800; // Move text 150 pixels upwards creditsText.scale.set(3, 3); // Further increase the scale for larger text creditsContainer.addChild(creditsText); // Ortak close label ve button var commonClose = createCommonCloseElements(modalWidth, modalHeight); creditsContainer.addChild(commonClose.closeButton); creditsContainer.addChild(commonClose.closeLabel); commonClose.closeButton.on('down', function () { game.removeChild(creditsContainer); menuOpen = true; menuContainer.visible = true; }); game.addChild(creditsContainer); } function showVolume() { var volumeContainer = new Container(); volumeContainer.zIndex = 300; // Modal boyutu: 1250x2000 var modalWidth = 1250, modalHeight = 2000; var bg = LK.getAsset('button_credits', { anchorX: 0.5, anchorY: 0.5, width: modalWidth, height: modalHeight, color: 0x000000 }); bg.x = centerX(); bg.y = centerY(); volumeContainer.addChild(bg); var volumeText = new Text2("Volume Settings", { fontFamily: "Arial", fontSize: 30, fill: 0xffffff }); volumeText.anchorX = 0.5; volumeText.anchorY = 0.5; volumeText.x = centerX(); volumeText.y = centerY(); volumeContainer.addChild(volumeText); // Ortak close label ve button var commonClose = createCommonCloseElements(modalWidth, modalHeight); volumeContainer.addChild(commonClose.closeButton); volumeContainer.addChild(commonClose.closeLabel); commonClose.closeButton.on('down', function () { game.removeChild(volumeContainer); menuOpen = true; menuContainer.visible = true; }); game.addChild(volumeContainer); } function showRecords() { var recordsContainer = new Container(); recordsContainer.zIndex = 300; var modalWidth = 1500, modalHeight = 2200; var bg = LK.getAsset('button_credits', { anchorX: 0.5, anchorY: 0.5, width: modalWidth, height: modalHeight, color: 0x000000 }); bg.x = centerX(); bg.y = centerY(); recordsContainer.addChild(bg); 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; // Records textinin font boyutu 5 kat büyütülmüş (32 -> 160) var recordsText = new Text2(recordsTextStr, { fontFamily: "Arial", fontSize: 5000, fill: 0xffffff, align: "center" }); recordsText.anchorX = 0.5; recordsText.anchorY = 0.5; recordsText.x = centerX() - 280; // Move text 30 pixels left recordsText.y = centerY() - 950; // Move text 150 pixels upwards recordsText.scale.set(3, 3); // Further increase the scale for larger text recordsContainer.addChild(recordsText); var commonClose = createCommonCloseElements(modalWidth, modalHeight); recordsContainer.addChild(commonClose.closeButton); recordsContainer.addChild(commonClose.closeLabel); commonClose.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; 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() { if (gameOverText) { game.removeChild(gameOverText); gameOverText = null; } var objectsToRemove = []; game.children.forEach(function (child) { if (child instanceof Tree || child instanceof Tube) { objectsToRemove.push(child); } }); objectsToRemove.forEach(function (obj) { game.removeChild(obj); }); 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) { if (menuOpen) { 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) { showVolume(); } 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
@@ -457,9 +457,9 @@
});
creditsText.anchorX = 0.5;
creditsText.anchorY = 0.5;
creditsText.x = centerX() - 324;
- creditsText.y = centerY() - 650; // Move text 250 pixels upwards
+ creditsText.y = centerY() - 800; // Move text 150 pixels upwards
creditsText.scale.set(3, 3); // Further increase the scale for larger text
creditsContainer.addChild(creditsText);
// Ortak close label ve button
var commonClose = createCommonCloseElements(modalWidth, modalHeight);