Code edit (1 edits merged)
Please save this source code
User prompt
Add a score to the gui layer
User prompt
Please fix the bug: 'TypeError: arrow.update is not a function' in or related to this line: 'arrow.update();' Line Number: 153
Code edit (2 edits merged)
Please save this source code
User prompt
The gui layer is not visible
Code edit (1 edits merged)
Please save this source code
User prompt
place the ui layer over the game layer
User prompt
I cant see the arrow
User prompt
Please fix the bug: 'TypeError: Cannot read properties of null (reading 'x')' in or related to this line: 'var dx = game.point.x - car.x;' Line Number: 22
User prompt
Please fix the bug: 'ReferenceError: point is not defined' in or related to this line: 'var dx = point.x - car.x;' Line Number: 22
User prompt
add an ui layer and on that layer an arrow that point to the direction of the point relative to the car
User prompt
only have one point at a time
User prompt
Please fix the bug: 'Uncaught TypeError: Cannot read properties of undefined (reading '0')' in or related to this line: 'gameLayer.y += (2732 / 2 - car.y - gameLayer.y) * 0.05;' Line Number: 146
User prompt
Please fix the bug: 'Uncaught TypeError: Cannot read properties of undefined (reading '0')' in or related to this line: 'if (self.alpha <= 0) {' Line Number: 67
User prompt
Please fix the bug: 'Uncaught TypeError: Cannot read properties of undefined (reading '0')' in or related to this line: 'if (self.alpha <= 0) {' Line Number: 66
Code edit (11 edits merged)
Please save this source code
User prompt
the points should not move
User prompt
add some points to pick up
User prompt
remove the background asset and only use the color.
User prompt
make the background a single yellow color
User prompt
allow the car go to outside the viewport
User prompt
the view following the car should have a delay
User prompt
make the view follow the car
Code edit (1 edits merged)
Please save this source code
Code edit (8 edits merged)
Please save this source code
/****
* Classes
****/
var Car = Container.expand(function () {
var self = Container.call(this);
var carGraphics = self.attachAsset('car', {
anchorX: 0.5,
anchorY: 0.75
});
self.noAccelerationUpdates = 0;
self.accelerationUpdates = 0;
self.forceX = self.forceY = 0;
self.acceleration = 0;
self.prevRotation = 0;
});
var Dust = Container.expand(function () {
var self = Container.call(this);
var dustGraphics = self.attachAsset('dirt', {
anchorX: 0.5,
anchorY: 0.75
});
});
var Obstacle = Container.expand(function () {
var self = Container.call(this);
var obstacleGraphics = self.attachAsset('obstacle', {
anchorX: 0.5,
anchorY: 0.5
});
self.speed = -5;
self.update = function () {
self.y -= self.speed;
};
});
var Skidmark = Container.expand(function () {
var self = Container.call(this);
var skidmarkGraphics = self.attachAsset('skidmark', {
anchorX: 0.5,
anchorY: 0.8
});
self.alpha = 1;
self.rotation = 0;
self.width = 90;
self.height = 90;
self.update = function () {
self.alpha -= 0.001;
if (self.alpha <= 0) {
self.destroy();
}
};
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x2e2e2e
});
/****
* Game Code
****/
game.down = function (x, y, obj) {
game.isDown = true;
var midScreenX = 2048 / 2;
var distanceFromMid = x - midScreenX;
if (distanceFromMid < 0) {
car.rotation -= 0.1; // Rotate left
} else {
car.rotation += 0.1; // Rotate right
}
};
game.up = function (x, y) {
game.isDown = false;
};
var obstacles = [];
game.update = function () {
if (Math.abs(car.forceX) > 1.5 || Math.abs(car.forceY) > 1.5 || game.isDown) {
car.acceleration += 0.2;
var distX = 30;
var dAcc = Math.abs(car.rotation - car.prevRotation);
var skidmark = gameLayer.addChildAt(new Skidmark(), 0);
skidmark.rotation = car.rotation;
skidmark.x = car.x;
skidmark.y = car.y;
var alpha = Math.min(10 * dAcc, 1);
if (dAcc == 0) {
alpha = 0.1;
}
if (game.isDown && accelerationUpdates < 100) {
alpha = 1 - accelerationUpdates / 100;
}
skidmark.alpha = alpha;
}
if (game.isDown) {
car.noAccelerationUpdates = 0;
accelerationUpdates += 1;
car.forceX += Math.sin(car.rotation) * 0.5;
car.forceY += Math.cos(car.rotation) * 0.5;
} else {
car.noAccelerationUpdates += 1;
accelerationUpdates = 0;
car.noAccelerationUpdates = Math.min(100, car.noAccelerationUpdates);
car.forceX += Math.sin(car.rotation) * (0.5 * 1 / car.noAccelerationUpdates);
car.forceY += Math.cos(car.rotation) * (0.5 * 1 / car.noAccelerationUpdates);
}
car.x += car.forceX;
car.y -= car.forceY;
car.prevRotation = car.rotation;
car.forceX *= 0.97; // Apply friction to slow down the car
car.forceY *= 0.97;
// Make the view follow the car with a delay
gameLayer.x += (2048 / 2 - car.x - gameLayer.x) * 0.05;
gameLayer.y += (2732 / 2 - car.y - gameLayer.y) * 0.05;
};
var backgroundLayer = new Container();
game.addChildAt(backgroundLayer, 0);
var background = backgroundLayer.addChild(LK.getAsset('background', {
anchorX: 0.5,
anchorY: 0.5
}));
background.x = 2048 / 2;
background.y = 2732 / 2;
var gameLayer = new Container();
game.addChild(gameLayer);
var car = gameLayer.addChild(new Car());
car.x = 2048 / 2;
car.y = 2732 / 2 + 500;
car.prevRotation = car.rotation;
var oldX, oldY;
game.move = function (x, y, obj) {
if (!oldX) {
oldX = x;
}
if (!oldY) {
oldY = y;
}
if (game.isDown) {
var dx = x - oldX;
if (dx < 0) {
dx = Math.max(dx, -4);
}
if (dx > 0) {
dx = Math.min(dx, 4);
}
car.rotation += dx / 100; // Rotate left
oldX = x;
oldY = y;
}
}; ===================================================================
--- original.js
+++ change.js
@@ -107,20 +107,8 @@
car.y -= car.forceY;
car.prevRotation = car.rotation;
car.forceX *= 0.97; // Apply friction to slow down the car
car.forceY *= 0.97;
- if (car.x < 0) {
- car.x = 0;
- }
- if (car.x > 2048) {
- car.x = 2048;
- }
- if (car.y < 0) {
- car.y = 0;
- }
- if (car.y > 2732) {
- car.y = 2732;
- }
// Make the view follow the car with a delay
gameLayer.x += (2048 / 2 - car.x - gameLayer.x) * 0.05;
gameLayer.y += (2732 / 2 - car.y - gameLayer.y) * 0.05;
};
A cute looking car, facing up, viewed top down. Suitable for a game. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
some dust Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
An arrow pointing upwards. Should look like it's pointing to something valuable. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
a orange road cone. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
a coffee cup, viewed from above. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A cinnamon bun, viewed from above. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
a gold coin with a car one it, simple graphics. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
a cheese sandwich, viewed from above. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
a salt can, viewed from above. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A checked pattern in nice soft pastel colors. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.