User prompt
apples should be born in the second half of the screen.
User prompt
sometimes the apples disappear before they reach the ground, fix it.
User prompt
apples should be visible for the entire second half of the screen unless interacting with players
User prompt
make apples visible when they go to the second half of the screen
User prompt
make apples visible when they move into the second third of the screen
User prompt
the player doesn't reach the edge of the screen, fix it
User prompt
player2 is not interacting with the red apples, fix it
User prompt
do not change the direction of movement when the mouse cursor is directly on the players
User prompt
do not change the direction of movement when the mouse cursor is on players
User prompt
do not switch players when the mouse cursor is directly on the character
User prompt
Fix Bug: 'TypeError: player.containsPoint is not a function' in this line: 'if (!player.containsPoint(touchPos) && !player2.containsPoint(touchPos)) {' Line Number: 112
User prompt
do not switch players when the mouse cursor is directly on the character
User prompt
if the mouse cursor is right on the character show default player
User prompt
player2 doesn't interact with green apples, fix it
User prompt
when the character moves to the left - show player and player2 hide. when the character moves to the right - show player2 and player hide, both players move synchronously
User prompt
character doesn't move to the right, fix it
User prompt
character doesn't move to the right, fix it
User prompt
when the character moves to the left - show player and hide player2. when the character moves to the right - show player2 and hide player
User prompt
Fix Bug: 'ReferenceError: GreenApple is not defined' in this line: 'var newApple = Math.random() < 0.5 ? new Apple() : new GreenApple();' Line Number: 124
User prompt
when the character moves to the left - show player and hide player2. when the character moves to the right - show player2 and hide player
User prompt
player and player2 start from the same point and move synchronously
User prompt
Fix Bug: 'ReferenceError: player2 is not defined' in this line: 'if (player2.x < player2.targetX) {' Line Number: 107
User prompt
Fix Bug: 'ReferenceError: player2 is not defined' in this line: 'if (player2.x < player2.targetX) {' Line Number: 107
User prompt
player and player2 are always at the same point
User prompt
add player2
/**** * Classes ****/ // Player class var Player = Container.expand(function () { var self = Container.call(this); var playerGraphics = self.createAsset('player', 'Player character', 0.5, 1); self.speed = 5; self.targetX = self.x; self.moveLeft = function () { if (self.x > self.targetX && self.x > 0) { self.x -= self.speed; } }; self.moveRight = function () { if (self.x < self.targetX && self.x < 2048) { self.x += self.speed; } }; }); // Player2 class var Player2 = Container.expand(function () { var self = Container.call(this); var playerGraphics = self.createAsset('player2', 'Alternate player character', 0.5, 1); self.speed = 5; self.targetX = self.x; self.visible = false; self.moveLeft = function () { if (self.x > self.targetX && self.x > 0) { self.x -= self.speed; } }; self.moveRight = function () { if (self.x < self.targetX && self.x < 2048) { self.x += self.speed; } }; }); // Apple class var Apple = Container.expand(function () { var self = Container.call(this); var appleGraphics = self.createAsset('apple', 'Falling apple', 0.5, 0.5); self.speed = 3; self.move = function () { self.y += self.speed; }; self.isCaught = function (player, player2) { var playerHeadY = player.y - player.height / 2; var player2HeadY = player2.y - player2.height / 2; var appleBottomY = self.y + self.height / 2; return self.intersects(player) && appleBottomY < playerHeadY || self.intersects(player2) && appleBottomY < player2HeadY; }; }); // GreenApple class var GreenApple = Container.expand(function () { var self = Container.call(this); var appleGraphics = self.createAsset('greenApple', 'Falling green apple', 0.5, 0.5); self.speed = 5; self.move = function () { self.y += self.speed; }; self.isCaught = function (player, player2) { var playerHeadY = player.y - player.height / 2; var player2HeadY = player2.y - player2.height / 2; var appleBottomY = self.y + self.height / 2; return self.intersects(player) && appleBottomY < playerHeadY || self.intersects(player2) && appleBottomY < player2HeadY; }; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x000000 // Init game with black background }); /**** * Game Code ****/ // Initialize second background var background2 = game.addChild(LK.getAsset('background2', 'Second background', 0, 0)); background2.width = 2048; background2.height = 2732; background2.x = 0; background2.y = 0; background2.anchor.set(0, 0); // Initialize backgrounds var background = game.addChild(LK.getAsset('background', 'Game background', 0, 0)); background.width = 2048; background.height = 2732; background.x = 0; background.y = 0; background.anchor.set(0, 0); // Initialize player var player = game.addChild(new Player()); player.x = 2048 / 2; player.y = 2732 - 50; // Positioned at the bottom of the screen // Initialize player2 var player2 = game.addChild(new Player2()); player2.x = 2048 / 2; player2.y = 2732 - 50; // Positioned at the bottom of the screen, same as player // Initialize apples array var apples = []; // Handle touch movement function handleTouchMove(obj) { var touchPos = obj.event.getLocalPosition(game); player.targetX = touchPos.x; player2.targetX = touchPos.x; } // Attach touch move event to the game game.on('move', handleTouchMove); // Game tick event LK.on('tick', function () { // Move player towards targetX and control visibility of player and player2 // Only move if the targetX is not directly on the player if (Math.abs(player.x - player.targetX) > player.width / 2) { if (player.x < player.targetX) { player.moveRight(); player2.moveRight(); player.visible = false; player2.visible = true; } else if (player.x > player.targetX) { player.moveLeft(); player2.moveLeft(); player.visible = true; player2.visible = false; } } // Move apples for (var i = apples.length - 1; i >= 0; i--) { apples[i].move(); // Check if apple is caught by the player if (apples[i].isCaught(player, player2)) { // Increase score LK.setScore(LK.getScore() + 1); // Remove caught apple apples[i].destroy(); apples.splice(i, 1); } else if (apples[i].y > 2732) { // Remove apple if it falls off the screen apples[i].destroy(); apples.splice(i, 1); } } // Spawn apples less frequently if (LK.ticks % 120 == 0) { // Every two seconds var newApple = Math.random() < 0.5 ? new Apple() : new GreenApple(); newApple.x = Math.random() * 2048; newApple.y = -50; // Start off-screen apples.push(newApple); game.addChild(newApple); } });
===================================================================
--- original.js
+++ change.js
@@ -7,14 +7,14 @@
var playerGraphics = self.createAsset('player', 'Player character', 0.5, 1);
self.speed = 5;
self.targetX = self.x;
self.moveLeft = function () {
- if (self.x > self.targetX && self.x > playerGraphics.width / 2) {
+ if (self.x > self.targetX && self.x > 0) {
self.x -= self.speed;
}
};
self.moveRight = function () {
- if (self.x < self.targetX && self.x < 2048 - playerGraphics.width / 2) {
+ if (self.x < self.targetX && self.x < 2048) {
self.x += self.speed;
}
};
});
@@ -25,14 +25,14 @@
self.speed = 5;
self.targetX = self.x;
self.visible = false;
self.moveLeft = function () {
- if (self.x > self.targetX && self.x > playerGraphics.width / 2) {
+ if (self.x > self.targetX && self.x > 0) {
self.x -= self.speed;
}
};
self.moveRight = function () {
- if (self.x < self.targetX && self.x < 2048 - playerGraphics.width / 2) {
+ if (self.x < self.targetX && self.x < 2048) {
self.x += self.speed;
}
};
});
grass
the fields of Britain, cartoon style. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
green apple. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
red apple. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
eureka moment, cartoon style, light, no people. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
heart. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
stars flying on an ellipse, cartoon style, side view , no people. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
white "=" on a green apple.. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
a white "F" on a red apple.. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
the "G" sign on the red apple. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
white " (M" on a red apple. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
a white sign with a small "m" on a red apple.. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
white " /" on a green apple. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
a white "R" on a red apple.. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
green
a white " 2" on a red apple.. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.