/**** * Classes ****/ // Assets will be automatically created and loaded by the LK engine based on their usage in the code. // Bird class to represent the player character var Bird = Container.expand(function () { var self = Container.call(this); var birdGraphics = LK.getAsset('bird_frame_0', { anchorX: 0.5, anchorY: 0.5 }); self.addChild(birdGraphics); self.velocity = 0; self.gravity = 0.5; self.lift = -10; self.update = function () { self.velocity += self.gravity; if (self.flapPressed) { self.velocity = self.lift; self.flapPressed = false; } self.y += self.velocity; if (self.y > 2732 - birdGraphics.height / 2) { self.y = 2732 - birdGraphics.height / 2; self.velocity = 0; } if (self.y < birdGraphics.height / 2) { self.y = birdGraphics.height / 2; self.velocity = 0; } }; self.flap = function () { self.flapPressed = true; LK.getSound('jump').play(); }; }); // Pipe class to represent obstacles var Pipe = Container.expand(function () { var self = Container.call(this); var pipeGraphics = LK.getAsset('pipe', { anchorX: 0.5, anchorY: 0.5, width: 150, height: 600 }); self.addChild(pipeGraphics); self.speed = -5; self.update = function () { self.x += self.speed; if (self.x < -pipeGraphics.width / 2) { self.destroy(); } }; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x87CEEB // Sky blue background }); /**** * Game Code ****/ var background = LK.getAsset('background', { anchorX: 0.0, anchorY: 0.0, width: 2048, height: 2732 }); game.addChild(background); var bird = game.addChild(new Bird()); bird.x = 2048 / 4; bird.y = 2732 / 2; bird.gravity = 0; LK.setTimeout(function () { bird.gravity = 0.5; }, 900); var pipes = []; var pipeSpeed = 5; // Speed of the pipes var pipeGap = 150; // Distance between upper and lower pipes var pipeInterval = 90; // Interval for pipe generation var ticks = 0; game.down = function (x, y, obj) { gameStarted = true; bird.flap(); }; var gameStarted = false; var startScreen = false; // Define startScreen variable var score = 0; var gameData = { highScore: 0, totalGamesPlayed: 0, totalScore: 0 }; // Function to save game data to local storage function saveGameData() { if (typeof localStorage !== 'undefined') { localStorage.setItem('gameData', JSON.stringify(gameData)); } } // Function to load game data from local storage function loadGameData() { var data = typeof localStorage !== 'undefined' ? localStorage.getItem('gameData') : null; if (data) { gameData = JSON.parse(data); } } // Load game data at the start loadGameData(); var scoreText = new Text2('0', { size: 100, fill: "#ffffff", x: 2048 / 2, y: 200 }); scoreText.anchor.set(0.5, 0); LK.gui.top.addChild(scoreText); game.update = function () { background.width = game.width; background.height = game.height; if (gameStarted && !startScreen) { bird.update(); if (bird.y >= 2732 - bird.height / 2 || bird.y <= bird.height / 2) { LK.effects.flashScreen(0xff0000, 1000); LK.showGameOver(); } if (ticks % pipeInterval === 0) { var pipe = new Pipe(); pipe.x = 2048; // Spawn off-screen to the right pipe.y = Math.random() * (2732 - pipe.height * 2) + pipe.height; // Adjusted random y position pipe.speed = -5 - Math.floor(score / 5); // Increase the speed of the pipes as the score increases pipes.push(pipe); game.addChild(pipe); } for (var i = pipes.length - 1; i >= 0; i--) { pipes[i].update(); if (pipes[i].intersects(bird)) { LK.effects.flashScreen(0xff0000, 1000); // Update game data gameData.totalGamesPlayed++; gameData.totalScore += score; if (score > gameData.highScore) { gameData.highScore = score; } saveGameData(); LK.showGameOver('Score: ' + score + '\nHigh Score: ' + gameData.highScore); } if (pipes[i].x < bird.x && !pipes[i].scored) { score++; pipes[i].scored = true; } if (pipes[i].x < -pipes[i].width / 2) { pipes.splice(i, 1); } } scoreText.setText('Score: ' + score); ticks++; } };
/****
* Classes
****/
// Assets will be automatically created and loaded by the LK engine based on their usage in the code.
// Bird class to represent the player character
var Bird = Container.expand(function () {
var self = Container.call(this);
var birdGraphics = LK.getAsset('bird_frame_0', {
anchorX: 0.5,
anchorY: 0.5
});
self.addChild(birdGraphics);
self.velocity = 0;
self.gravity = 0.5;
self.lift = -10;
self.update = function () {
self.velocity += self.gravity;
if (self.flapPressed) {
self.velocity = self.lift;
self.flapPressed = false;
}
self.y += self.velocity;
if (self.y > 2732 - birdGraphics.height / 2) {
self.y = 2732 - birdGraphics.height / 2;
self.velocity = 0;
}
if (self.y < birdGraphics.height / 2) {
self.y = birdGraphics.height / 2;
self.velocity = 0;
}
};
self.flap = function () {
self.flapPressed = true;
LK.getSound('jump').play();
};
});
// Pipe class to represent obstacles
var Pipe = Container.expand(function () {
var self = Container.call(this);
var pipeGraphics = LK.getAsset('pipe', {
anchorX: 0.5,
anchorY: 0.5,
width: 150,
height: 600
});
self.addChild(pipeGraphics);
self.speed = -5;
self.update = function () {
self.x += self.speed;
if (self.x < -pipeGraphics.width / 2) {
self.destroy();
}
};
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x87CEEB // Sky blue background
});
/****
* Game Code
****/
var background = LK.getAsset('background', {
anchorX: 0.0,
anchorY: 0.0,
width: 2048,
height: 2732
});
game.addChild(background);
var bird = game.addChild(new Bird());
bird.x = 2048 / 4;
bird.y = 2732 / 2;
bird.gravity = 0;
LK.setTimeout(function () {
bird.gravity = 0.5;
}, 900);
var pipes = [];
var pipeSpeed = 5; // Speed of the pipes
var pipeGap = 150; // Distance between upper and lower pipes
var pipeInterval = 90; // Interval for pipe generation
var ticks = 0;
game.down = function (x, y, obj) {
gameStarted = true;
bird.flap();
};
var gameStarted = false;
var startScreen = false; // Define startScreen variable
var score = 0;
var gameData = {
highScore: 0,
totalGamesPlayed: 0,
totalScore: 0
};
// Function to save game data to local storage
function saveGameData() {
if (typeof localStorage !== 'undefined') {
localStorage.setItem('gameData', JSON.stringify(gameData));
}
}
// Function to load game data from local storage
function loadGameData() {
var data = typeof localStorage !== 'undefined' ? localStorage.getItem('gameData') : null;
if (data) {
gameData = JSON.parse(data);
}
}
// Load game data at the start
loadGameData();
var scoreText = new Text2('0', {
size: 100,
fill: "#ffffff",
x: 2048 / 2,
y: 200
});
scoreText.anchor.set(0.5, 0);
LK.gui.top.addChild(scoreText);
game.update = function () {
background.width = game.width;
background.height = game.height;
if (gameStarted && !startScreen) {
bird.update();
if (bird.y >= 2732 - bird.height / 2 || bird.y <= bird.height / 2) {
LK.effects.flashScreen(0xff0000, 1000);
LK.showGameOver();
}
if (ticks % pipeInterval === 0) {
var pipe = new Pipe();
pipe.x = 2048; // Spawn off-screen to the right
pipe.y = Math.random() * (2732 - pipe.height * 2) + pipe.height; // Adjusted random y position
pipe.speed = -5 - Math.floor(score / 5); // Increase the speed of the pipes as the score increases
pipes.push(pipe);
game.addChild(pipe);
}
for (var i = pipes.length - 1; i >= 0; i--) {
pipes[i].update();
if (pipes[i].intersects(bird)) {
LK.effects.flashScreen(0xff0000, 1000);
// Update game data
gameData.totalGamesPlayed++;
gameData.totalScore += score;
if (score > gameData.highScore) {
gameData.highScore = score;
}
saveGameData();
LK.showGameOver('Score: ' + score + '\nHigh Score: ' + gameData.highScore);
}
if (pipes[i].x < bird.x && !pipes[i].scored) {
score++;
pipes[i].scored = true;
}
if (pipes[i].x < -pipes[i].width / 2) {
pipes.splice(i, 1);
}
}
scoreText.setText('Score: ' + score);
ticks++;
}
};
Flappy Bird Game Single Design Pipe. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Remove Single Text And The Option Of Top Right Side Fill With Another Background
Flappy Bird Realistic Bird. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Flappy birdsdeki bulut. In-Game asset. 2d. High contrast. No shadows