Code edit (9 edits merged)
Please save this source code
User prompt
всегда когда поворачивается персонаж на 80 градусов, разворачивать его обратно, кроме случая, когда игрок поворачивается на 360 градусов
User prompt
Please fix the bug: 'Timeout.tick error: Can't find variable: tween' in or related to this line: 'tween(ball, {' Line Number: 156 ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
исправить ошибку, когда при прыжке или двойном прыжке нажать и отпустить кнопку вниз, то длительность всегда равна 1000. если кнопку bot отпустили, длительность должна брать 230 и 500 соответственно
User prompt
добавить Rotate back 80 degrees clockwise когда персонаж в прыжке или двойном прыжке
Code edit (1 edits merged)
Please save this source code
User prompt
сделать сначала дрожь сильной (в течении 1 секунды), а потом одинаковую дрожь как сейчас
Code edit (1 edits merged)
Please save this source code
User prompt
ruka двигается на 100 пикселей
User prompt
ruka двигается вправо на 1,5 секунды после старта
User prompt
Please fix the bug: 'ReferenceError: ruka is not defined' in or related to this line: 'if (ruka && ruka.parent) {' Line Number: 184
User prompt
Please fix the bug: 'ReferenceError: ruka is not defined' in or related to this line: 'if (ruka && ruka.parent) {' Line Number: 184
User prompt
Please fix the bug: 'ReferenceError: ruka is not defined' in or related to this line: 'if (ruka && ruka.parent) {' Line Number: 184
User prompt
Please fix the bug: 'ReferenceError: ruka is not defined' in or related to this line: 'if (ruka && ruka.parent) {' Line Number: 184
User prompt
Please fix the bug: 'ReferenceError: ruka is not defined' in or related to this line: 'if (ruka && ruka.parent) {' Line Number: 184
User prompt
Please fix the bug: 'ReferenceError: ruka is not defined' in or related to this line: 'if (ruka && ruka.parent) {' Line Number: 183
User prompt
ruka появляется на 1,5 секунде и исчезает, когда исчезает BALL
Code edit (1 edits merged)
Please save this source code
User prompt
добавить картинку ruka в левую середину экрана
User prompt
Please fix the bug: 'ReferenceError: vzriv is not defined' in or related to this line: 'if (vzriv && vzriv.parent) {' Line Number: 260
User prompt
удалять картинку VZRIV, как только начинается дрожь у персонажа
Code edit (2 edits merged)
Please save this source code
User prompt
Please fix the bug: 'ReferenceError: vzriv is not defined' in or related to this line: 'if (child !== player && child !== buttonTop && child !== buttonBot && child !== vzriv) {' Line Number: 246
User prompt
убрать движение у VZRIV
User prompt
исправить ошибку, когда VZRIV не удаляется по истечению времени, а просто движется со скоростью влево
/**** * Plugins ****/ var tween = LK.import("@upit/tween.v1"); /**** * Classes ****/ var ButtonBot = Container.expand(function () { var self = Container.call(this); var buttonBotGraphics = self.attachAsset('BUTTON_BOT', { anchorX: 0.5, anchorY: 0.5 }); // Add down event to set landing duration to 100 during jump or double jump self.down = function (x, y, obj) { if (!player.inAir && !player.doubleJump) { player.rotation -= Math.PI / 2.25; // Rotate 80 degrees counter-clockwise } else if (player.inAir || player.doubleJump) { tween(player, { y: 2732 / 2 - 250 }, { duration: 100, onFinish: function onFinish() { player.inAir = false; player.doubleJump = false; player.y = 2732 / 2 - 250; } }); } if (player.inAir || player.doubleJump) { player.rotation -= Math.PI / 2.25; // Rotate 80 degrees counter-clockwise tween(player, { y: 2732 / 2 - 250 }, { duration: player.doubleJump ? 500 : 230, onFinish: function onFinish() { player.inAir = false; player.doubleJump = false; player.y = 2732 / 2 - 250; } }); } }; // Add up event to reset rotation self.up = function (x, y, obj) { if (!player.inAir && !player.doubleJump) { player.rotation += Math.PI / 2.25; // Rotate back 80 degrees clockwise } }; }); // Create a button top class var ButtonTop = Container.expand(function () { var self = Container.call(this); var buttonTopGraphics = self.attachAsset('BUTTON_TOP', { anchorX: 0.5, anchorY: 0.5 }); // Add down event to trigger jump self.down = function (x, y, obj) { if (!player.doubleJump) { if (player.inAir) { player.doubleJump = true; tween(player, { y: player.y - 400, rotation: player.rotation - Math.PI * 2 }, { duration: 230, easing: tween.easeInOut, onFinish: function onFinish() { tween(player, { y: 2732 / 2 - 250 }, { duration: 500, onFinish: function onFinish() { player.inAir = false; player.doubleJump = false; player.y = 2732 / 2 - 250; } }); } }); return; } player.inAir = true; tween(player, { y: player.y - 400 }, { duration: 100, onFinish: function onFinish() { tween(player, { y: 2732 / 2 - 250 }, { duration: 700, onFinish: function onFinish() { player.inAir = false; } }); } }); } }; }); // Create a player class var Player = Container.expand(function () { var self = Container.call(this); var playerGraphics = self.attachAsset('character', { anchorX: 0.5, anchorY: 0.5 }); // Initialize the inAir flag self.inAir = false; self.doubleJump = false; }); /**** * Initialize Game ****/ // Add player to the game var game = new LK.Game({ backgroundColor: 0xffffff }); /**** * Game Code ****/ LK.setTimeout(function () { vzriv = game.addChild(LK.getAsset('Vzriv', { anchorX: 0.5, anchorY: 0.5 })); vzriv.x = vzriv.width / 2 + 80; // Position Vzriv at the left center of the screen vzriv.y = 2732 / 2 - 290; // Center Vzriv vertically game.setChildIndex(player, game.children.length - 1); // Ensure player is on top // Remove Vzriv 2.1 seconds after the game starts LK.setTimeout(function () { vzriv.destroy(); }, 2100); }, 1850); // Add player to the game var ball = game.addChild(LK.getAsset('Ball', { anchorX: 0.5, anchorY: 0.5 })); ball.x = ball.width / 2 - 100; // Shift ball 100 pixels to the left ball.y = 2732 / 2 - 300; // Center ball vertically LK.setTimeout(function () { tween(ball, { x: ball.x + 400 }, { duration: 350, // Reduced duration to double the speed easing: tween.linear, onFinish: function onFinish() { ball.destroy(); // Remove the ball after it moves 200 pixels } }); }, 1500); game.down = function (x, y, obj) {}; var player = game.addChild(new Player()); player.x = player.width / 2 + 200; // Position player 200 units to the right of the center left of the screen player.y = 2732 / 2 - 250; // Move player 150 units down player.rotation = Math.PI / 12; // Set initial rotation to 15 degrees clockwise // Add background to the game var background = game.addChild(LK.getAsset('background_1', { anchorX: 0.5, anchorY: 0.5 })); game.setChildIndex(background, 0); // Move background to the bottom background.x = 2048 / 2; // Center background horizontally background.y = 2732 / 2 + 150; // Move background down by 550 pixels background.rotation = Math.PI / 9; // Rotate background by 20 degrees clockwise // Move background_1 towards its left side var backgroundCounter = 0; var backgroundTimer = LK.setInterval(function () { var newBackground = game.addChild(LK.getAsset('background_1', { anchorX: 0.5, anchorY: 0.5 })); newBackground.x = 2048 / 2 + 2500; // Move background 2048 pixels to the right newBackground.y = 2732 / 2 + 1060; // Move background down by 1100 pixels newBackground.rotation = Math.PI / 9; // Rotate background by 20 degrees clockwise backgroundCounter++; if (backgroundCounter === 1) { LK.clearInterval(backgroundTimer); backgroundTimer = LK.setInterval(function () { var newBackground = game.addChild(LK.getAsset('background_1', { anchorX: 0.5, anchorY: 0.5 })); newBackground.x = 2048 / 2 + 2500; // Move background 2048 pixels to the right newBackground.y = 2732 / 2 + 1060; // Move background down by 1100 pixels newBackground.rotation = Math.PI / 9; // Rotate background by 20 degrees clockwise }, 3200); } else if (backgroundCounter === 2) { LK.clearInterval(backgroundTimer); backgroundTimer = LK.setInterval(function () { var newBackground = game.addChild(LK.getAsset('background_1', { anchorX: 0.5, anchorY: 0.5 })); newBackground.x = 2048 / 2 + 2500; // Move background 2048 pixels to the right newBackground.y = 2732 / 2 + 1060; // Move background down by 1100 pixels newBackground.rotation = Math.PI / 9; // Rotate background by 20 degrees clockwise }, 1000); } }, 500); var gameStarted = false; var gameStartTimer = LK.setTimeout(function () { gameStarted = true; }, 2000); // Add BUTTON_TOP to the game var buttonTop = game.addChild(new ButtonTop()); buttonTop.x = 2048 - buttonTop.width / 2 - 20; // Position buttonTop 20 units to the left of the right edge of the screen buttonTop.y = 2732 - buttonTop.height / 2 - 320; // Position buttonTop 320 units above the bottom edge of the screen // Add BUTTON_BOT to the game var buttonBot = game.addChild(new ButtonBot()); buttonBot.x = 2048 - buttonBot.width / 2 - 20; // Position buttonBot 20 units to the left of the right edge of the screen buttonBot.y = 2732 - buttonBot.height / 2 - 20; // Position buttonBot 20 units above the bottom edge of the screen game.update = function () { if (!gameStarted) { buttonTop.interactive = false; buttonBot.interactive = false; return; } buttonTop.interactive = true; buttonBot.interactive = true; game.children.forEach(function (child) { if (child !== player && child !== buttonTop && child !== buttonBot) { child.x -= 15 * Math.cos(child.rotation); // Increase the speed by 1.5 times child.y -= 15 * Math.sin(child.rotation); // Increase the speed by 1.5 times if (child.x + child.width / 2 < 0) { // If the right edge of the background is less than 0 (completely off the screen) child.destroy(); // Remove the background } } game.setChildIndex(player, game.children.length - 1); // Move player to the top }); // Add shaking effect to the player if (gameStarted) { if (LK.ticks < 150) { // Strong shake for the first second (assuming 60 FPS) player.x += Math.sin(LK.ticks / 0.5) * 10; player.y += Math.cos(LK.ticks / 0.5) * 10; } else { player.x += Math.sin(LK.ticks / 0.5) * 3; player.y += Math.cos(LK.ticks / 0.5) * 3; } if (vzriv && vzriv.parent) { vzriv.destroy(); } } };
===================================================================
--- original.js
+++ change.js
@@ -32,14 +32,13 @@
player.rotation -= Math.PI / 2.25; // Rotate 80 degrees counter-clockwise
tween(player, {
y: 2732 / 2 - 250
}, {
- duration: 1000,
+ duration: player.doubleJump ? 500 : 230,
onFinish: function onFinish() {
player.inAir = false;
player.doubleJump = false;
player.y = 2732 / 2 - 250;
- player.rotation += Math.PI / 2.25; // Rotate back 80 degrees clockwise
}
});
}
};
создать мультяшного сидячего персонажа. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
snowball. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
белая стрелочка вниз. Ровная. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
Алмаз, мультяшный. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
Скелет дракона. Мультяшный. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
Ufo (летающая тарелка). Мультяшная. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
Пингвин в снегу. Мультяшный. Головой в снегу. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
Мультяшный рыбак зимой сидит рыбачит. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
Человек летит на параплане. Мультяшный. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
Куст в снегу мультяшный. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
Дирижабль, мультяшный. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
Рука белая. Иконка. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
Монетка золотая мультяшная. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
снежинка. мультяшная. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
text: New Record! Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows