User prompt
crea una función que guarde constantemente la skin actual background en el plugin de guardado inicial y haz que cargue al iniciar lapartida ↪💡 Consider importing and using the following plugins: @upit/storage.v1
User prompt
haz que la skin inicial background sean las guardadas en global save ↪💡 Consider importing and using the following plugins: @upit/storage.v1
User prompt
reinica todas las variables meters, spins y money a 0
User prompt
reinicia todos mis variables meters, sping y money a 0
User prompt
haz que al tocar la pantalla aumente meters en 240
User prompt
crea una función que guarde constantemente la skin actual background en el plugin de guardado inicial y haz que cargue al iniciar partida background ↪💡 Consider importing and using the following plugins: @upit/storage.v1
User prompt
haz que la skin inicial background sean las guardadas en global save ↪💡 Consider importing and using the following plugins: @upit/storage.v1 ↪💡 Consider importing and using the following plugins: @upit/storage.v1
User prompt
Please fix the bug: 'currentRockIndex is not defined' in or related to this line: 'var rock = LK.getAsset('Rock' + currentRockIndex, {' Line Number: 140
User prompt
borra todos los cambios realizados de guardado sobre roca
User prompt
ahora item no cambia de skin a la roca
User prompt
ahora no cambian de skin
User prompt
haz que la skin inicial de rock y background sean las guardadas en global save ↪💡 Consider importing and using the following plugins: @upit/storage.v1
User prompt
haz que el guardado sea cada tick ↪💡 Consider importing and using the following plugins: @upit/storage.v1
User prompt
crea una función que guarde constantemente la skin actual de rock y background en el plugin de guardado inicial y haz que cargue al iniciar partida y sea la skin inicial de rock and background ↪💡 Consider importing and using the following plugins: @upit/storage.v1
User prompt
haz que roca al iniciar tome como skin inicial el asset Rock con la id = saveskinrock
User prompt
haz que la skin base de roca sea "Rock" + saveskinrock
User prompt
agrega las variables skinsave al guardado global y haz que se carguen al iniciar el juego
User prompt
haz que use el numero del asset utilizado (ej: saveskinrock = Rock
User prompt
Please fix the bug: 'Cannot read properties of undefined (reading 'setText')' in or related to this line: 'saveSkinBackgroundText.setText('SaveSkinBackground: ' + saveskinbackground);' Line Number: 160
User prompt
Please fix the bug: 'Cannot read properties of undefined (reading 'setText')' in or related to this line: 'saveSkinRockText.setText('SaveSkinRock: ' + saveskinrock);' Line Number: 158
User prompt
los texto de saveskin no se muestran
User prompt
dentro de función haz que las variables saveskinrock y saveskinbackground se actualicen constantemente utilizando de valor el id del asset usado por rock y background correspondidamente
User prompt
Please fix the bug: 'ReferenceError: saveskinrock is not defined' in or related to this line: 'self.setText('SaveSkinRock: ' + saveskinrock);' Line Number: 143
User prompt
agrega dos textos, debajo del texto de currency, que muestren el valor actual de la variable saveskinrock y background
User prompt
Please fix the bug: 'ReferenceError: saveskinrock is not defined' in or related to this line: 'self.setText('SaveSkinRock: ' + saveskinrock);' Line Number: 144
/****
* Plugins
****/
var storage = LK.import("@upit/storage.v1", {
meters: 0,
money: 0,
giros: 0,
currentBackgroundIndex: 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) {
meters += 240; // Increase meters by 240 when the screen is touched
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.currentBackgroundIndex || 0; // Load saved background index or default to 0
// Create a background asset
var background = LK.getAsset('Background0', {
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('Background0', {
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('Background0', {
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 progress every 10 seconds
if (LK.ticks % (60 * 10) == 0) {
storage.meters = meters;
storage.money = money;
storage.giros = giros;
storage.currentBackgroundIndex = currentRockIndex;
}
// Increment 'giros' every 2.09 seconds
if (LK.ticks % Math.round(2.09 * 60) == 0) {
giros += 1;
}
}; ===================================================================
--- original.js
+++ change.js
@@ -162,15 +162,14 @@
// 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; // Reset meters to 0
+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'
-var giros = 0; // Reset giros to 0
-// Initialize a variable to track 'money'
-var money = 0; // Reset money to 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;
@@ -180,9 +179,8 @@
// 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'
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