Code edit (1 edits merged)
Please save this source code
User prompt
Не удалять fon_snizu
User prompt
Исправить ошибку, когда fon_snizu не появляется
Code edit (3 edits merged)
Please save this source code
User prompt
Опустить fon_snizu на 250 вниз
Code edit (4 edits merged)
Please save this source code
User prompt
Опустить fon_snizu на 200 вниз
User prompt
Удалять fon_snizu как только картинка уйдет полностью за экран
User prompt
Удалять изображения, которые полностью ушли за экран
Code edit (3 edits merged)
Please save this source code
User prompt
Опустить вниз последующие созданные 123 на 700
User prompt
Последующие 123 создаются в правой части экрана
Code edit (1 edits merged)
Please save this source code
User prompt
Опустить последующие созданные 123 на 600
User prompt
Создавать в правой части экрана новое изображение 123 каждые 3 секунды
User prompt
Поднять на 20 пикселей вверх
User prompt
Опустить 123 на 300 пикселей вниз
User prompt
123.rotation = Math.PI / 9;
User prompt
Добавить изображение 123 в середину экрана
User prompt
Исправить ошибку, когда во время запуска игры делаешь первый прыжок и происходит лаг в игре
Code edit (3 edits merged)
Please save this source code
User prompt
Последующие изображения fon_snizu сдвинуть на 1000 пикселей вправо
Code edit (2 edits merged)
Please save this source code
User prompt
Исправить ошибку, когда последующее создание Fon_snizu ниже, чем первая картинка fon_snizu
User prompt
Каждую секунду
/**** 
* Plugins
****/ 
var tween = LK.import("@upit/tween.v1");
/**** 
* Classes
****/ 
// test
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: 100,
				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
		} else 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 lastY and lastX for tracking changes
	self.lastY = self.y;
	self.lastX = self.x;
});
/**** 
* Initialize Game
****/ 
// Add player to the game
var game = new LK.Game({
	backgroundColor: 0xFFFFFF
});
/**** 
* Game Code
****/ 
// Create a new image 123 every 3 seconds on the right side of the screen
var image123Timer = LK.setInterval(function () {
	var newImage123 = game.addChild(LK.getAsset('123', {
		anchorX: 0.5,
		anchorY: 0.5
	}));
	newImage123.x = 2048 + newImage123.width / 2; // Position on the right side of the screen
	newImage123.y = 2732 / 2 + 1290; // Move image down by 600 pixels
	newImage123.rotation = Math.PI / 9; // Rotate image by 20 degrees clockwise
}, 2500);
LK.setTimeout(function () {
	vzriv = game.addChild(LK.getAsset('Vzriv', {
		anchorX: 0.5,
		anchorY: 0.5
	}));
	vzriv.x = vzriv.width / 2 + 90; // Position Vzriv at the left center of the screen
	vzriv.y = 2732 / 2 - 280; // 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);
}, 1860);
// Add image 123 to the center of the screen
var image123 = game.addChild(LK.getAsset('123', {
	anchorX: 0.5,
	anchorY: 0.5
}));
image123.x = 2048 / 2; // Center image horizontally
image123.y = 2732 / 2 + 280; // Move image 123 down by 280 pixels
image123.rotation = Math.PI / 9; // Rotate image 123 by 20 degrees clockwise
// Add player to the game
var ball = game.addChild(LK.getAsset('Ball', {
	anchorX: 0.5,
	anchorY: 0.5
}));
var uskorenie = game.addChild(LK.getAsset('Uskorenie', {
	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: 360,
		// 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 - 370; // Position buttonTop 370 units above the bottom edge of the screen
// Add fon_snizu to the bottom of the screen
var fonSnizu = game.addChild(LK.getAsset('Fon_snizu', {
	anchorX: 0.5,
	anchorY: 1.0
}));
fonSnizu.x = 2048 / 2; // Center fon_snizu horizontally
fonSnizu.y = 2732 + 800; // Move fon_snizu 600 pixels down
fonSnizu.rotation = Math.PI / 9; // Rotate fonSnizu by 20 degrees clockwise
game.setChildIndex(fonSnizu, 0); // Move fonSnizu to the bottom layer
// Create a new fon_snizu image every 3 seconds on the right side of the screen
var fonSnizuTimer = LK.setInterval(function () {
	var newFonSnizu = game.addChild(LK.getAsset('Fon_snizu', {
		anchorX: 0.5,
		anchorY: 1.0
	}));
	newFonSnizu.x = 2048 - newFonSnizu.width / 2 + 1000; // Position on the right side of the screen and shift 1000 pixels to the right
	newFonSnizu.y = 2732 + 500; // Move fon_snizu 600 pixels down
	newFonSnizu.rotation = Math.PI / 9; // Rotate fonSnizu by 20 degrees clockwise
	game.setChildIndex(newFonSnizu, 0); // Move newFonSnizu to the bottom layer
}, 1000);
// 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;
	// Update lastY and lastX for player
	player.lastY = player.y;
	player.lastX = player.x;
	game.children.forEach(function (child) {
		if (child !== player && child !== buttonTop && child !== buttonBot && child !== uskorenie) {
			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 || child.y + child.height / 2 < 0 || child.x - child.width / 2 > 2048 || child.y - child.height / 2 > 2732) {
				// If the image is completely off the screen
				child.destroy(); // Remove the image
			}
			if (child === fonSnizu && (child.x + child.width / 2 < 0 || child.y + child.height / 2 < 0 || child.x - child.width / 2 > 2048 || child.y - child.height / 2 > 2732)) {
				// If fon_snizu is completely off the screen
				child.destroy(); // Remove fon_snizu
			}
		}
		game.setChildIndex(player, game.children.length - 1); // Move player to the top
	});
	// Add shaking effect to the player
	if (gameStarted) {
		if (LK.ticks < 130) {
			// Strong shake for the first second (assuming 60 FPS)
			player.x = player.lastX + Math.sin(LK.ticks / 0.5) * 10;
			player.y = player.lastY + Math.cos(LK.ticks / 0.5) * 10;
		} else {
			player.x = player.lastX + Math.sin(LK.ticks / 0.5) * 3;
			player.y = player.lastY + Math.cos(LK.ticks / 0.5) * 3;
		}
		if (vzriv && vzriv.parent) {
			vzriv.destroy();
		}
	}
}; ===================================================================
--- original.js
+++ change.js
@@ -283,8 +283,12 @@
 			if (child.x + child.width / 2 < 0 || child.y + child.height / 2 < 0 || child.x - child.width / 2 > 2048 || child.y - child.height / 2 > 2732) {
 				// If the image is completely off the screen
 				child.destroy(); // Remove the image
 			}
+			if (child === fonSnizu && (child.x + child.width / 2 < 0 || child.y + child.height / 2 < 0 || child.x - child.width / 2 > 2048 || child.y - child.height / 2 > 2732)) {
+				// If fon_snizu is completely off the screen
+				child.destroy(); // Remove fon_snizu
+			}
 		}
 		game.setChildIndex(player, game.children.length - 1); // Move player to the top
 	});
 	// Add shaking effect to the player
 создать мультяшного сидячего персонажа. 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