User prompt
agregale a cada cosmetic (del 0 al 9) una condición if de que solo cambiara la skin de Rock cuando su variable boleana CosmeticUseEnable<0->9> sea verdadera
User prompt
Agrega una variable if a cada cosmetic para que solo cambie la skin de rock cuando su variable booleana CosmeticUseEnable sea verdadera
User prompt
ambia CosmeticUseEnable a CosmeticUseEnable
User prompt
cambia CosmeticUseEnable a CosmeticUseEnable
User prompt
agregale a cada cosmetic una variable boleana llamada cosmeticUseEnable en false
User prompt
cambia el nombre item por cosmetic
User prompt
Cambia todos los cosmetic de code por Rock
User prompt
haz que en vez del nombre item lleven el nombre de cosmetic0 -> cosmetic1 -> etc
User prompt
haz que cada item cree su propio preview que lleve por asset Rock
User prompt
que el previsualizador sea la rockskin que propircionan
User prompt
agrega un previzualizador a item
User prompt
agrega un preview a item sobre su textura
User prompt
agrega un preview a los items que muestren que skin dara antes de tocarlo
User prompt
haz que solo pueda haber 1 preview por item
User prompt
haz que preview se genere una vez cargue item
User prompt
haz que al ejecutar el juego ya esten los preview en escena
User prompt
haz que solo pueda haber un solo preview por item
User prompt
haz que preview ya aparezcan en la escena y no cuando se clickea item
User prompt
Please fix the bug: 'LK.preloadAssets is not a function' in or related to this line: 'LK.preloadAssets();' Line Number: 140
User prompt
haz que ya esten cargados una vez inicia la escena
User prompt
haz que preview siempre se vea
User prompt
haz que los preview sean un 30% más pequeño
User prompt
haz que se vizualice siempre y no cuando se toque
User prompt
haz que siempre se vea la skin que agregan en frente del objeto item
User prompt
agrega un previsualizador a los items para ver que skin ponen
/**** * Plugins ****/ var storage = LK.import("@upit/storage.v1", { meters: 0, money: 0, giros: 0 }); /**** * Classes ****/ // Create a Player class var Player = Container.expand(function () { var self = Container.call(this); // Create a list named 'rock' and add the 'Rock0' asset to it var rock = ['Rock0', 'Rock1', 'Rock2', 'Rock3', 'Rock4']; // Attach a shape asset to represent the player self.playerGraphics = self.attachAsset(rock[0], { anchorX: 0.5, anchorY: 0.5 }); // Set player speed self.speed = 5; // This is automatically called every game tick, if the player is attached! self.update = function () { self.y += self.speed; // Add gravity to the player if (self.y < ground.y - self.height / 2 + 50) { self.speed += 0.5; } else { self.speed = 0; self.y = ground.y - self.height / 2 + 50; // Ensure player lands correctly jump = 2; // Reset jump count when player lands } // Add rotation to the player self.rotation += 0.05; // Play or pause rockmovement sound based on rock's position if (self.y < ground.y - self.height / 2 + 50) { LK.getSound('rockmovement').stop(); // Stop sound when rock is in the air self.lastWasOnGround = false; // Track if the rock was on the ground } else { if (!self.lastWasOnGround) { LK.getSound('rockFall').play(); // Play rockfall sound when rock lands LK.setTimeout(function () { LK.getSound('rockmovement').play({ loop: true }); // Play sound when rock is on the ground after rockfall }, 100); // Delay rockmovement sound by 100ms after rockfall } else { LK.getSound('rockmovement').play({ loop: true }); // Ensure rockmovement sound loops continuously } self.lastWasOnGround = true; // Update the state to indicate rock is on the ground } }; }); // Create a GirosText class to display the number of 'giros' var GirosText = Text2.expand(function () { var self = Text2.call(this, '0', { size: 100, fill: 0xFFFFFF }); self.update = function () { self.setText('Spins: ' + giros); }; }); // Create a GirosText instance and add it to the game // Create a Text class to display the meters covered var MeterText = Text2.expand(function () { var self = Text2.call(this, '0', { size: 100, fill: 0xFFFFFF }); self.update = function () { self.setText('Meters: ' + meters); }; }); // Create a MoneyText class to display the amount of 'money' var MoneyText = Text2.expand(function () { var self = Text2.call(this, '0', { size: 100, fill: 0xFFFFFF }); self.update = function () { self.setText('Money: ' + money); }; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x000000 }); /**** * Game Code ****/ // Preload all assets when the scene starts // LK.preloadAssets(); // Removed as it is not a valid function var rock = LK.getAsset('Rock0', { anchorX: 0.5, anchorY: 0.5, x: 2048 / 2, y: 2732 / 2 }); game.addChild(rock); // Make the rock jump when the screen is touched game.down = function (x, y, obj) { if (jump > 0 && y < 2732 / 2 + 200) { LK.getSound('rockjump').play(); // Play rockjump sound when the rock jumps player.speed = -18; // Give an initial upward speed for the jump player.y -= 10; // Adjust position slightly to ensure jump effect player.update(); // Ensure the update method is called to apply the jump jump--; // Decrease jump count } }; var currentRockIndex = storage.currentRockIndex || 0; // Load saved background skin index or default to 0 // Create a background asset using the saved skin index var background = LK.getAsset('Background' + currentRockIndex, { anchorX: 0.5, anchorY: 0.5, x: 2048 / 2, y: 2732 / 2 }); // Add the background to the game game.addChild(background); // Create a clone of the background asset var backgroundClone = LK.getAsset('Background' + currentRockIndex, { anchorX: 0.5, anchorY: 0.5, x: 2048 / 2 + background.width, y: 2732 / 2 }); // Add the clone to the game game.addChild(backgroundClone); // Create a second clone of the background asset var backgroundClone2 = LK.getAsset('Background' + currentRockIndex, { anchorX: 0.5, anchorY: 0.5, x: 2048 / 2 + 2 * background.width, y: 2732 / 2 }); // Add the second clone to the game game.addChild(backgroundClone2); // Initialize a ground asset var ground = LK.getAsset('ground', { anchorX: 0.5, anchorY: 0.5, x: 2048 / 2, y: 2732 / 2, width: background.width, alpha: 0 }); // Add the ground to the game game.addChild(ground); // Create a player instance and add it to the game var player = game.addChild(new Player()); // Position player more towards the center of the screen player.x = 2048 / 4; player.y = 2732 / 2 + 10; // Initialize a variable to track 'meters' var meters = storage.meters || 0; // Initialize a variable to track available jumps var jump = 2; // Initialize a variable to track 'giros' var giros = storage.giros || 0; // Create a MeterText instance and add it to the game var meterText = game.addChild(new MeterText()); // Position MeterText at the top left of the screen, a bit lower meterText.x = 50; meterText.y = 200; // Create a GirosText instance and add it to the game var moneyText = game.addChild(new MoneyText()); // Position MoneyText below the GirosText moneyText.x = 50; moneyText.y = 400; // Initialize a variable to track 'money' var money = storage.money || 0; // Create a list named 'rock' and add all the 'rock<number>' assets to it // Ensure rock array is initialized with all rock assets var rock = ['Rock0', 'Rock1', 'Rock2', 'Rock3', 'Rock4', 'Rock5', 'Rock6', 'Rock7', 'Rock8', 'Rock9']; // Create a list named 'SkinSelect' var SkinSelect = []; var itemAsset = LK.getAsset('Item', { anchorX: 0.5, anchorY: 0.5, x: 200, y: 3700 / 2 }); game.addChild(itemAsset); SkinSelect.push(itemAsset); var item1 = LK.getAsset('Item', { anchorX: 0.5, anchorY: 0.5, x: itemAsset.x + 400, y: itemAsset.y }); game.addChild(item1); SkinSelect.push(item1); var item2 = LK.getAsset('Item', { anchorX: 0.5, anchorY: 0.5, x: item1.x + 400, y: item1.y }); game.addChild(item2); SkinSelect.push(item2); var item3 = LK.getAsset('Item', { anchorX: 0.5, anchorY: 0.5, x: item2.x + 400, y: item2.y }); game.addChild(item3); SkinSelect.push(item3); var item4 = LK.getAsset('Item', { anchorX: 0.5, anchorY: 0.5, x: item3.x + 400, y: item3.y }); game.addChild(item4); SkinSelect.push(item4); var item5 = LK.getAsset('Item', { anchorX: 0.5, anchorY: 0.5, x: itemAsset.x, y: itemAsset.y + 400 }); game.addChild(item5); SkinSelect.push(item5); var item6 = LK.getAsset('Item', { anchorX: 0.5, anchorY: 0.5, x: item5.x + 400, y: item5.y }); game.addChild(item6); SkinSelect.push(item6); var item7 = LK.getAsset('Item', { anchorX: 0.5, anchorY: 0.5, x: item6.x + 400, y: item6.y }); game.addChild(item7); SkinSelect.push(item7); var item8 = LK.getAsset('Item', { anchorX: 0.5, anchorY: 0.5, x: item7.x + 400, y: item7.y }); game.addChild(item8); SkinSelect.push(item8); var item9 = LK.getAsset('Item', { anchorX: 0.5, anchorY: 0.5, x: item8.x + 400, y: item8.y }); game.addChild(item9); SkinSelect.push(item9); var assets = LK.assets; if (assets) { for (var i = 0; i < assets.length; i++) { if (assets[i].id.startsWith('Rock')) { rock.push(assets[i].id); } } rock.sort(function (a, b) { return parseInt(a.replace('Rock', '')) - parseInt(b.replace('Rock', '')); }); } var girosText = game.addChild(new GirosText()); // Position GirosText below the MeterText, also a bit lower girosText.x = 50; girosText.y = 300; game.update = function () { // Make each item in SkinSelect interactable SkinSelect.forEach(function (item, index) { // Preview the selected skin and ensure it is displayed in front of the item var preview = LK.getAsset(rock[index], { anchorX: 0.5, anchorY: 0.5, x: item.x, y: item.y, scaleX: 0.7, scaleY: 0.7 }); game.addChild(preview); item.down = function (x, y, obj) { // Change the player's rock based on the item number player.removeChild(player.playerGraphics); player.playerGraphics = player.attachAsset(rock[index], { anchorX: 0.5, anchorY: 0.5 }); }; }); background.x -= 5; backgroundClone.x -= 5; backgroundClone2.x -= 5; if (background.x + background.width < 0) { background.x = backgroundClone2.x + background.width; } if (backgroundClone.x + backgroundClone.width < 0) { backgroundClone.x = background.x + background.width; } if (backgroundClone2.x + backgroundClone2.width < 0) { backgroundClone2.x = backgroundClone.x + backgroundClone.width; } // Increment 'meters' every second if (LK.ticks % 60 == 0) { meters += 1; // Log every time 250 meters are advanced if (meters % 250 === 0) { console.log('Advanced 250 meters'); // Play the 'HoundreMeters' sound every 250 meters LK.getSound('HoundreMeters').play(); money += 25; // Increase 'money' by 25 // Change background sprite currentRockIndex = (currentRockIndex + 1) % 8; // Cycle through 0 to 7 background.removeChild(background.playerGraphics); background.playerGraphics = background.attachAsset('Background' + currentRockIndex, { anchorX: 0.5, anchorY: 0.5 }); backgroundClone.removeChild(backgroundClone.playerGraphics); backgroundClone.playerGraphics = backgroundClone.attachAsset('Background' + currentRockIndex, { anchorX: 0.5, anchorY: 0.5 }); backgroundClone2.removeChild(backgroundClone2.playerGraphics); backgroundClone2.playerGraphics = backgroundClone2.attachAsset('Background' + currentRockIndex, { anchorX: 0.5, anchorY: 0.5 }); } // Play the 'HoundreMeters' sound at 250 meters if (meters === 250) { LK.getSound('HoundreMeters').play(); } } // Save progress every 1 second if (LK.ticks % 60 == 0) { storage.meters = meters; storage.money = money; storage.giros = giros; storage.currentRockIndex = currentRockIndex; // Save current background skin index } // Increment 'giros' every 2.09 seconds if (LK.ticks % Math.round(2.09 * 60) == 0) { giros += 1; } };
===================================================================
--- original.js
+++ change.js
@@ -281,26 +281,25 @@
girosText.y = 300;
game.update = function () {
// Make each item in SkinSelect interactable
SkinSelect.forEach(function (item, index) {
+ // Preview the selected skin and ensure it is displayed in front of the item
+ var preview = LK.getAsset(rock[index], {
+ anchorX: 0.5,
+ anchorY: 0.5,
+ x: item.x,
+ y: item.y,
+ scaleX: 0.7,
+ scaleY: 0.7
+ });
+ game.addChild(preview);
item.down = function (x, y, obj) {
// Change the player's rock based on the item number
player.removeChild(player.playerGraphics);
player.playerGraphics = player.attachAsset(rock[index], {
anchorX: 0.5,
anchorY: 0.5
});
- // Preview the selected skin and ensure it is displayed in front of the item
- var preview = LK.getAsset(rock[index], {
- anchorX: 0.5,
- anchorY: 0.5,
- x: item.x,
- y: item.y,
- scaleX: 0.7,
- scaleY: 0.7
- });
- game.addChild(preview);
- // Ensure the preview is always visible by not removing it
};
});
background.x -= 5;
backgroundClone.x -= 5;
que no contenga sombras ni luces
una cabeza de moai redonda. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
Una esfera de hierro. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
Una esfera de oro. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
una piedra redonda musgosa. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
la bandera de argentina redonda. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
moneda de cobre. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
moneda de silver. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
moneda de gold. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
diamante Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
Una rueda de carretilla medieval. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
pelota de basquetbal modelo Molten. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
pelota de futbol hecha de hielo. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
Bola disco. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
Una bola de voley de planta. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
Una bola de pinchos. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
Una bola de lana. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
Agrega una esfera que dentro contenga un cielo. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
Una esfera con la via láctea. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
proporción 1000-2000, marios más robustos y sin tanto relieve
Un papel medieval con una enorme flecha hacia la izquierda de pintura en medio. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
Esfera del dragon. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
Esfera demoniaca. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
Esfera de hada. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
una manzana redonda. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
Un capiraba redondo como una pelota. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
Un armadillo hecho bolita. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
Una estrella redondita. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
Mejorar el diseños de lás casas para que sean más medievales y aumentar su calidad, más arboles y mejorar la calidad del cesped