User prompt
Please fix the bug: 'Uncaught TypeError: t.setStageReference is not a function' in or related to this line: 'gameplay.addChild(rock);' Line Number: 165
User prompt
hay un error que hace que al cambiar de vuelta a la escena gameplay no aparecen todos los objetos
User prompt
crea un boton identico a boton menu en la escena del mismo nombre. nombralo boton gameplay y que cambie la escena a la del mismo nombre
User prompt
Cuando se toque el boton menu que cambie a la escena del mismo nombre
User prompt
haz que el objeti item en la esquina superior derecha se llame menubuttom y que sea interactuable
User prompt
crea una segunda escena de nombre menu
User prompt
agrega una nueva sheet de js
User prompt
nombra a la escena actual gameplay
User prompt
agrega un objeto nuevo en la esquina superior derecha llamada menu y que tenga el asset item
User prompt
Please fix the bug: 'newScene is not defined' in or related to this line: 'newScene.addChild(newBackground);' Line Number: 153
User prompt
nombra a la nueva escena testmenu
User prompt
nombra a la escena principal "playing" nombra la nueva escena "menutest"
User prompt
Please fix the bug: 'game.switchScene is not a function' in or related to this line: 'game.switchScene(newScene);' Line Number: 163
User prompt
Please fix the bug: 'LK.Scene is not a constructor' in or related to this line: 'var newScene = new LK.Scene({' Line Number: 139
User prompt
crea una nueva escena
User prompt
haz que el guardado sea cada segundo
User prompt
Please fix the bug: 'TypeError: storage.set is not a function' in or related to this line: 'storage.set('meters', meters);' Line Number: 380 ↪💡 Consider importing and using the following plugins: @upit/storage.v1
User prompt
Please fix the bug: 'storage.retrieve is not a function' in or related to this line: 'var currentRockIndex = storage.retrieve('currentRockIndex') || 0; // Load saved background skin index or default to 0' Line Number: 156 ↪💡 Consider importing and using the following plugins: @upit/storage.v1
User prompt
Please fix the bug: 'storage.get is not a function' in or related to this line: 'var currentRockIndex = storage.get('currentRockIndex') || 0; // Load saved background skin index or default to 0' Line Number: 156
User prompt
Please fix the bug: 'storage.retrieve is not a function' in or related to this line: 'var currentRockIndex = storage.retrieve('currentRockIndex') || 0; // Load saved background skin index or default to 0' Line Number: 156
User prompt
Please fix the bug: 'storage.get is not a function' in or related to this line: 'var currentRockIndex = storage.get('currentRockIndex') || 0; // Load saved background skin index or default to 0' Line Number: 156
User prompt
haz que el guardado sea local en la cuenta del usuario y no global
User prompt
reinicia todos los valores a 0
Code edit (1 edits merged)
Please save this source code
User prompt
haz que la skin inicial background sea las guardadas en global save ↪💡 Consider importing and using the following plugins: @upit/storage.v1
/****
* 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
****/
// Initialize a rock asset with a design
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) {
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.get('currentRockIndex') || 0; // Load saved background skin index or default to 0
meters = storage.get('meters') || 0;
money = storage.get('money') || 0;
giros = storage.get('giros') || 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 = 0;
var giros = 0;
var money = 0;
// Initialize a variable to track available jumps
var jump = 2;
// Initialize a variable to track 'giros'
// 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'
// 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) {
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
});
// Remove jump effect when items are touched
};
});
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 user-specific progress every 10 seconds
if (LK.ticks % (60 * 10) == 0) {
storage.set('meters', meters);
storage.set('money', money);
storage.set('giros', giros);
storage.set('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
@@ -115,9 +115,9 @@
player.update(); // Ensure the update method is called to apply the jump
jump--; // Decrease jump count
}
};
-var currentRockIndex = storage.retrieve('currentRockIndex') || 0; // Load saved background skin index or default to 0
+var currentRockIndex = storage.get('currentRockIndex') || 0; // Load saved background skin index or default to 0
meters = storage.get('meters') || 0;
money = storage.get('money') || 0;
giros = storage.get('giros') || 0;
// Create a background asset using the saved skin index
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