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: 100,
onFinish: function onFinish() {
player.inAir = false;
player.doubleJump = false;
player.y = 2732 / 2 - 250;
if (player.doubleJump) {
player.rotation -= Math.PI / 2.25; // Rotate 80 degrees counter-clockwise on landing during double jump
}
}
});
}
};
// 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 () {
var 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) {
player.x += Math.sin(LK.ticks / 0.5) * 3;
player.y += Math.cos(LK.ticks / 0.5) * 3;
}
};
создать мультяшного сидячего персонажа. 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