User prompt
уменьши размер текста счетчиков и выведи их оба в верхней части экрана с левой стороны, на экраны anvil и ForgeOfMatter
Code edit (1 edits merged)
Please save this source code
User prompt
счетчик Growth rate обнуляется при выходе с окна magicNursery, сделай так что бы прогресс счетчика сохранялся
User prompt
счетчик Growth rate обнуляется при переходе на окно anvil и обратно, сделай так что бы прогресс сохранялся при возвращении
User prompt
сделай что бы прогресс в счетчике Growth rate не обнулялся при переходах между окнами
User prompt
теперь при переходах через door2 пиiется undefined в счетчике growth rate, нужно что бы счетчик сохранял прогресс при любых пререходах
User prompt
посмотри как реализован счетчик forging skill и сделай так же в счетчике growth rate при переходах через door2
User prompt
Please fix the bug: 'Uncaught TypeError: Cannot set properties of undefined (setting 'visible')' in or related to this line: 'game.magicNursery.forgeOfMatter.visible = false;' Line Number: 127
User prompt
при переходе в door2 счетчик начинает отсчитывать заново поверх прошлого прогресса, нужно что бы прогресс счетчика продолжился, исправь ошибки
User prompt
Please fix the bug: 'Uncaught TypeError: Cannot set properties of undefined (setting 'visible')' in or related to this line: 'forgeOfMatter.visible = false;' Line Number: 127
User prompt
Please fix the bug: 'Uncaught TypeError: Cannot set properties of undefined (setting 'visible')' in or related to this line: 'game.magicNursery.forgeOfMatter.visible = false;' Line Number: 127
User prompt
Please fix the bug: 'Uncaught TypeError: Cannot set properties of undefined (setting 'visible')' in or related to this line: 'forgeOfMatter.visible = false;' Line Number: 127
User prompt
Please fix the bug: 'Uncaught TypeError: Cannot set properties of undefined (setting 'visible')' in or related to this line: 'game.magicNursery.forgeOfMatter.visible = false;' Line Number: 127
User prompt
Please fix the bug: 'Uncaught TypeError: Cannot set properties of undefined (setting 'visible')' in or related to this line: 'forgeOfMatter.visible = false;' Line Number: 127
User prompt
Please fix the bug: 'Uncaught TypeError: Cannot set properties of null (setting 'visible')' in or related to this line: 'forgeOfMatter.visible = false;' Line Number: 127
User prompt
Please fix the bug: 'Uncaught TypeError: Cannot set properties of undefined (setting 'visible')' in or related to this line: 'forgeOfMatter.visible = false;' Line Number: 127
User prompt
Please fix the bug: 'Uncaught ReferenceError: forgeOfMatter is not defined' in or related to this line: 'forgeOfMatter.visible = false;' Line Number: 127
User prompt
проблемы с обьектом ForgeOfMatter, при переходе в door2 обьект удаляется и прогресс счетчика пропадает, нужно что бы он не удалялся а скрывался
User prompt
Please fix the bug: 'Uncaught ReferenceError: magicNursery is not defined' in or related to this line: 'magicNursery.x = 2048 / 4;' Line Number: 198
User prompt
пропала кликабельность обьекта magicAnvin
User prompt
Please fix the bug: 'Uncaught TypeError: Cannot set properties of undefined (setting 'visible')' in or related to this line: 'game.magicNursery.growthRateText.visible = true;' Line Number: 129
User prompt
Please fix the bug: 'Uncaught TypeError: Cannot set properties of undefined (setting 'visible')' in or related to this line: 'game.magicNursery.growthRateText.visible = true;' Line Number: 129
User prompt
Please fix the bug: 'Uncaught TypeError: Cannot set properties of undefined (setting 'visible')' in or related to this line: 'game.magicNursery.growthRateText.visible = true;' Line Number: 128
User prompt
Please fix the bug: 'Cannot read properties of undefined (reading 'height')' in or related to this line: 'growthRateText.y = counterText.height;' Line Number: 150
User prompt
Please fix the bug: 'Cannot read properties of undefined (reading 'height')' in or related to this line: 'growthRateText.y = counterText.height;' Line Number: 150
/**** * Classes ****/ // Create a new class for the anvil object var Anvil = Container.expand(function () { var self = Container.call(this); // Attach 'anvil' asset to the 'Anvil' object var anvilGraphics = self.attachAsset('anvil', { anchorX: 0.5, anchorY: 0.5 }); // Initialize the click counter self.clickCounter = 0; // Make the 'Anvil' object interactive self.interactive = true; // Define the 'down' event handler self.down = function (x, y, obj) { // Increment the click counter self.clickCounter++; // Update the text object with the click counter and label counterText.setText('Forging skill: ' + self.clickCounter); // Change the color of the counter text based on the click counter if (self.clickCounter >= 100 && self.clickCounter < 200) { counterText.tint = 0x00FF00; // Green } else if (self.clickCounter >= 200 && self.clickCounter < 300) { counterText.tint = 0x0000FF; // Blue } else if (self.clickCounter >= 300) { counterText.tint = 0x800080; // Purple } }; }); // Create a new class for the Door object var Door = Container.expand(function () { var self = Container.call(this); // Attach 'Door' asset to the 'Door' object var doorGraphics = self.attachAsset('Door', { anchorX: 0.5, anchorY: 0.5 }); // Make the 'Door' object interactive self.interactive = true; // Define the 'down' event handler self.down = function (x, y, obj) { // Create a new screen game.magicNursery = game.addChild(new Container()); // Attach 'magicNurseryBackground' asset to the 'magicNursery' object var magicNurseryBackground = game.magicNursery.attachAsset('magicNurseryBackground', { anchorX: 0.5, anchorY: 0.5, interactive: false, // Disable interactivity to prevent blurring on click scaleX: 2, // Double the size horizontally scaleY: 2 // Double the size vertically }); magicNurseryBackground.x = 2048 / 2; magicNurseryBackground.y = 2732 / 2; // Attach 'ForgeOfMatter' asset to the 'magicNursery' object var forgeOfMatter = game.magicNursery.attachAsset('ForgeOfMatter', { anchorX: 0.5, anchorY: 0.5, interactive: true, scaleX: 1, scaleY: 1 }); // Initialize the click counter for ForgeOfMatter forgeOfMatter.clickCounter = 0; // Define the 'down' event handler for ForgeOfMatter forgeOfMatter.down = function (x, y, obj) { // Increment the click counter forgeOfMatter.clickCounter++; // Update the text object with the click counter and label growthRateText.setText('Growth rate: ' + forgeOfMatter.clickCounter); }; forgeOfMatter.x = 2048 / 2; forgeOfMatter.y = 2732 / 1.35; // Add a new counter to the ForgeOfMatter object growthRateText = new Text2('Growth rate: 0', { size: 100, fill: 0xFFFFFF }); growthRateText.anchor.set(0, 0); LK.gui.topLeft.addChild(growthRateText); growthRateText.y = counterText.height; // Hide the game screen gameScreen.visible = false; // Show the counter display counterText.visible = true; // Add a new object 'Door2' var door2 = game.magicNursery.addChild(new Door2()); // Position 'Door2' to the right, between the center and the edge of the screen door2.x = 2048 * 0.75; door2.y = 2732 * 0.9; }; }); // Create a new class for the Door2 object var Door2 = Container.expand(function () { var self = Container.call(this); // Attach 'Door' asset to the 'Door2' object var doorGraphics = self.attachAsset('Door', { anchorX: 0.5, anchorY: 0.5 }); // Make the 'Door2' object interactive self.interactive = true; // Define the 'down' event handler self.down = function (x, y, obj) { // Show the Anvil screen gameScreen.visible = true; // Show the counter display counterText.visible = true; // Hide the Magic Nursery screen game.magicNursery.visible = false; // Hide the ForgeOfMatter object instead of deleting it forgeOfMatter.visible = false; // Show the Growth rate counter growthRateText.visible = true; }; }); /**** * Initialize Game ****/ // Create a new text object to display the click counter var game = new LK.Game({ backgroundColor: 0x000000 }); /**** * Game Code ****/ // Create a new class for the Door object var growthRateText; var forgeOfMatter; var background = game.addChild(new Container()); background.width = 2048; background.height = 2732; background.x = 2048 / 2; background.y = 2732 / 2; var backgroundGraphics = background.attachAsset('background', { anchorX: 0.5, anchorY: 0.5 }); var gameScreen; var newGame = game.addChild(new Container()); newGame.x = 2048 / 2; newGame.y = 2732 * 3 / 4; // Attach 'newGameText' asset to the 'New Game' object var newGameText = newGame.attachAsset('newGameText', { anchorX: 0.5, anchorY: 0.5 }); // Make the 'New Game' object clickable newGame.interactive = true; newGame.down = function (x, y, obj) { // Create a new game screen gameScreen = game.addChild(new Container()); gameScreen.x = 2048 / 2; gameScreen.y = 2732 / 2; // Attach 'gameScreenBackground' asset to the 'gameScreen' object var gameScreenBackground = gameScreen.attachAsset('gameScreenBackground', { anchorX: 0.5, anchorY: 0.5 }); // Hide the main menu newGame.visible = false; // Disable the background background.visible = false; // Create a new instance of the Anvil class var anvil = gameScreen.addChild(new Anvil()); // Position 'The anvil' closer to the left center of the game screen anvil.x = 2048 / 10; anvil.y = 2732 / 9; // Add a new object 'Magic Nursery' var magicNursery = gameScreen.addChild(new Door()); // Position 'Magic Nursery' to the left and up magicNursery.x = 2048 / 4; magicNursery.y = 2732 / 2.5; }; // Create a new text object to display the click counter var counterText = new Text2('Forging skill: 0', { size: 100, fill: 0xFFFFFF }); // Position the text object at the top left corner of the screen counterText.anchor.set(0, 0); LK.gui.topLeft.addChild(counterText); counterText.y = 0;
===================================================================
--- original.js
+++ change.js
@@ -130,9 +130,9 @@
* Game Code
****/
// Create a new class for the Door object
var growthRateText;
-var forgeOfMatter = null;
+var forgeOfMatter;
var background = game.addChild(new Container());
background.width = 2048;
background.height = 2732;
background.x = 2048 / 2;