/****
* Classes
****/
//<Assets used in the game will automatically appear here>
// Define the Skateboarder class
var Skateboarder = Container.expand(function () {
var self = Container.call(this);
var skateboarderGraphics = self.attachAsset('skateboarder', {
anchorX: 0.5,
anchorY: 0.5
});
self.isJumping = false;
self.isCrouching = false;
self.jumpSpeed = -20;
self.gravity = 1;
self.yVelocity = 0;
self.update = function () {
if (self.isJumping) {
self.yVelocity += self.gravity;
self.y += self.yVelocity;
if (self.y >= 200) {
// Reset position after jump
self.y = 200;
self.isJumping = false;
self.yVelocity = 0;
}
}
};
self.jump = function () {
if (!self.isJumping && !self.isCrouching) {
self.isJumping = true;
self.yVelocity = self.jumpSpeed;
}
};
self.crouch = function () {
if (!self.isJumping) {
self.isCrouching = true;
skateboarderGraphics.scaleY = 0.5;
}
};
self.standUp = function () {
if (self.isCrouching) {
self.isCrouching = false;
skateboarderGraphics.scaleY = 1;
}
};
return self;
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x87CEEB // Sky blue background
});
/****
* Game Code
****/
// Initialize the skateboarder
var skateboarder = game.addChild(new Skateboarder());
skateboarder.x = 2048 / 2;
skateboarder.y = 200;
// Handle touch events for jumping and crouching
game.down = function (x, y, obj) {
if (y < 1366) {
// Upper half of the screen
skateboarder.jump();
} else {
// Lower half of the screen
skateboarder.crouch();
}
};
game.up = function (x, y, obj) {
skateboarder.standUp();
};
// Update game logic
game.update = function () {
skateboarder.update();
};