User prompt
crea una variable llamada coindelay y que se booleana (true/false)
User prompt
arregla el error de que moneda no reinicia su posición x al colisionar con roca
User prompt
cuando moneda colisione con roca que tenga un retraso de 10 segundos una vez reinicie su posición
User prompt
haz que el retraso se ejecute una vez la moneda reinicia su posición
User prompt
haz que moneda tarde 10 segundos en empezar su movimiento
User prompt
cuando inicie moneda guarda el valor de coin0velocity y establece la velocidad de moneda a 0. despues de 2 a 5 segundo carga el valor de coin0velocity como nueva velocidad de moneda
User prompt
crea una variable llamada "coin0Velocity" que sea el valor de velocidad actual de la moneda
User prompt
crea una variable llamada "coin0Velocity"que sea el valor actual de la moneda
User prompt
haz que una vez la moneda se reinicie establezca su velocidad a 0
User prompt
haz que la moneda después de 2 a 5 segundos recupere su velocidad inicial
User prompt
haz que al iniciar la moneda su valor de movimiento sea 0
User prompt
haz que sea random entre 10 a 40 segundos
User prompt
agrega un delay de aparición para la moneda
User prompt
cuando moneda se reinicie espera entre 10 a 40 segundos
User prompt
haz que moneda espere 10-40 segundos antes de inicia su movimiento ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
Please fix the bug: 'TypeError: rock.intersects is not a function' in or related to this line: 'if (!coin.lastWasIntersecting && (player.intersects(coin) || rock.intersects(coin))) {' Line Number: 297
User prompt
Please fix the bug: 'TypeError: rock.intersects is not a function' in or related to this line: 'if (!coin.lastWasIntersecting && (player.intersects(coin) || rock.intersects(coin))) {' Line Number: 298
User prompt
Please fix the bug: 'TypeError: rock.intersects is not a function' in or related to this line: 'if (!coin.lastWasIntersecting && (player.intersects(coin) || rock.intersects(coin))) {' Line Number: 291
User prompt
haz que también funcione cuando colisiona con jugador
User prompt
cambialo a 10-40
User prompt
haz que esta sea una vez inicie desde el lado derecho
User prompt
cuando moneda reinicie su movimiento haz que espere entre 25-50 segundos
User prompt
cuando roca toque moneda, la posición inicial de moneda se reinicia
User prompt
cuando roca toque moneda, moneda se elimina
User prompt
cuando roca toque moneda, la variable money da +1
/**** * 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 rockmovement sound in loop LK.getSound('rockmovement').play({ loop: true }); }; }); // 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) { 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 = 0; // Track the current rock index // Create a background asset var background = LK.getAsset('background', { 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', { 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', { 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; // Initialize a variable to track available jumps var jump = 2; // Initialize a variable to track 'giros' var 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 = 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); // Add a coin object to the game scene var coin = LK.getAsset('coin', { anchorX: 0.5, anchorY: 0.5, x: 2048 + 50, y: Math.random() * (900 - 500) + 500 // Random Y position between 500 and 900 }); game.addChild(coin); 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 () { // Move the coin from right to left coin.x -= 10; // Check for intersection between rock and coin if (!coin.lastWasIntersecting && player.intersects(coin)) { money += 1; // Increment money by 1 LK.setTimeout(function () { coin.x = 2048 + coin.width; // Reset coin position coin.y = Math.random() * (900 - 500) + 500; // Random Y position between 500 and 900 }, Math.random() * (40000 - 10000) + 10000); // Random delay between 10,000ms (10s) and 40,000ms (40s) coin.lastWasIntersecting = true; // Update last intersection state } else if (coin.lastWasIntersecting && !player.intersects(coin)) { coin.lastWasIntersecting = false; // Reset intersection state when no longer intersecting } // Reset coin position when it goes off-screen if (coin.x + coin.width < 0) { coin.x = 2048 + coin.width; coin.y = Math.random() * (900 - 500) + 500; // Random Y position between 500 and 900 } // 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; // Play the 'HoundreMeters' sound and award 10 coins every 100 meters if (meters % 100 == 0) { LK.getSound('HoundreMeters').play(); money += 10; // Award 10 coins } } // Increment 'giros' every 2.09 seconds if (LK.ticks % Math.round(2.09 * 60) == 0) { giros += 1; } };
===================================================================
--- original.js
+++ change.js
@@ -1,10 +1,5 @@
/****
-* Plugins
-****/
-var tween = LK.import("@upit/tween.v1");
-
-/****
* Classes
****/
// Create a Player class
var Player = Container.expand(function () {
@@ -246,37 +241,11 @@
var coin = LK.getAsset('coin', {
anchorX: 0.5,
anchorY: 0.5,
x: 2048 + 50,
- y: Math.random() * (900 - 500) + 500 // Random Y position between 500 and 900
+ y: Math.random() * (900 - 500) + 500 // Random Y position between 500 and 900
});
game.addChild(coin);
-// Use tween to delay the start of the coin's movement
-tween(coin, {}, {
- duration: Math.random() * (40000 - 10000) + 10000,
- // Random duration between 10,000ms (10s) and 40,000ms (40s)
- onFinish: function onFinish() {
- // Start moving the coin after the delay
- game.update = function () {
- // Move the coin from right to left
- coin.x -= 10;
- // Check for intersection between rock and coin
- if (!coin.lastWasIntersecting && player.intersects(coin)) {
- money += 1; // Increment money by 1
- coin.x = 2048 + coin.width; // Reset coin position
- coin.y = Math.random() * (900 - 500) + 500; // Random Y position between 500 and 900
- coin.lastWasIntersecting = true; // Update last intersection state
- } else if (coin.lastWasIntersecting && !player.intersects(coin)) {
- coin.lastWasIntersecting = false; // Reset intersection state when no longer intersecting
- }
- // Reset coin position when it goes off-screen
- if (coin.x + coin.width < 0) {
- coin.x = 2048 + coin.width;
- coin.y = Math.random() * (900 - 500) + 500; // Random Y position between 500 and 900
- }
- };
- }
-});
SkinSelect.push(item9);
var assets = LK.assets;
if (assets) {
for (var i = 0; i < assets.length; i++) {
@@ -297,10 +266,12 @@
coin.x -= 10;
// Check for intersection between rock and coin
if (!coin.lastWasIntersecting && player.intersects(coin)) {
money += 1; // Increment money by 1
- coin.x = 2048 + coin.width; // Reset coin position
- coin.y = Math.random() * (900 - 500) + 500; // Random Y position between 500 and 900
+ LK.setTimeout(function () {
+ coin.x = 2048 + coin.width; // Reset coin position
+ coin.y = Math.random() * (900 - 500) + 500; // Random Y position between 500 and 900
+ }, Math.random() * (40000 - 10000) + 10000); // Random delay between 10,000ms (10s) and 40,000ms (40s)
coin.lastWasIntersecting = true; // Update last intersection state
} else if (coin.lastWasIntersecting && !player.intersects(coin)) {
coin.lastWasIntersecting = false; // Reset intersection state when no longer intersecting
}
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