User prompt
enemy hitboxun sağ tarafını biraz büyüt
User prompt
düşman ve oyuncu hitboxlarını biraz düşür
User prompt
enemy ve playerın hitboxlarını büyüt
Code edit (2 edits merged)
Please save this source code
User prompt
oyuncunun zıplamasını arttır
User prompt
player jump decrased
Code edit (1 edits merged)
Please save this source code
/**** * Classes ****/ // Define a class for enemies var Enemy = Container.expand(function () { var self = Container.call(this); var enemyGraphics = self.attachAsset('enemy', { anchorX: 0.5, anchorY: 0.5, scaleX: 0.83, scaleY: 0.83 }); self.speed = 8; self.passed = false; self.update = function () { self.x -= self.speed; if (self.x < -50) { self.destroy(); } }; self.getHitbox = function () { return { x: self.x - 60, y: self.y - 120, width: 120, height: 240 }; }; }); // Define a class for the player character var Player = Container.expand(function () { var self = Container.call(this); var playerGraphics = self.attachAsset('player', { anchorX: 0.5, anchorY: 0.5, scaleX: 0.95, scaleY: 0.95 }); self.speed = 1000; self.jumpHeight = 35; self.isJumping = false; self.velocityY = 0; self.update = function () { if (self.isJumping) { self.y += self.velocityY; self.velocityY += 0.7; if (self.y >= 2732 / 2) { self.y = 2732 / 2; self.isJumping = false; self.velocityY = 0; } } }; self.jump = function () { if (!self.isJumping) { self.isJumping = true; self.velocityY = -self.jumpHeight; } }; self.getHitbox = function () { return { x: self.x - 50, y: self.y - 120, width: 100, height: 240 }; }; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x000000 }); /**** * Game Code ****/ // Initialize background var background = game.addChild(LK.getAsset('background', { anchorX: 0.5, anchorY: 0.5, x: 2048 / 2, y: 2732 / 2 })); // Initialize player var player = game.addChild(new Player()); player.x = 2048 / 2 - 100; player.y = 2732 / 2; // Initialize enemies var enemies = []; var enemySpawnInterval = 100; var enemySpawnCounter = 0; // Create score text var scoreText = new Text2('0', { size: 100, fill: 0xFFFFFF }); LK.gui.top.addChild(scoreText); scoreText.x = 2048 / 2; scoreText.y = 0; // Çarpışma kontrol fonksiyonu function checkCollision(rect1, rect2) { return rect1.x < rect2.x + rect2.width && rect1.x + rect1.width > rect2.x && rect1.y < rect2.y + rect2.height && rect1.y + rect1.height > rect2.y; } // Düşman oluşturmayı düzenli hale getiren fonksiyon function spawnEnemy() { var enemy = new Enemy(); enemy.x = 2048; enemy.y = 2732 / 2; enemy.passed = false; enemies.push(enemy); game.addChild(enemy); } // Game update loop game.update = function () { player.update(); // Enemy spawn logic enemySpawnCounter++; if (enemySpawnCounter >= enemySpawnInterval) { spawnEnemy(); enemySpawnInterval = Math.floor(Math.random() * 100) + 50; enemySpawnCounter = 0; } // Update enemies for (var j = enemies.length - 1; j >= 0; j--) { enemies[j].update(); // Çarpışma kontrolü if (checkCollision(player.getHitbox(), enemies[j].getHitbox())) { LK.effects.flashScreen(0xff0000, 1000); LK.showGameOver(); LK.stopMusic(); LK.playMusic('Music'); } // Enemy geçerse skor artar else if (enemies[j].x < player.x && !enemies[j].passed) { enemies[j].passed = true; LK.setScore(LK.getScore() + 1); scoreText.setText(LK.getScore()); } // Ekranı terk ederse düşmanı sil if (enemies[j].x < -50) { enemies[j].destroy(); enemies.splice(j, 1); } } // Enemy hızı her 5 saniyede bir artar if (LK.ticks % 300 == 0) { for (var i = 0; i < enemies.length; i++) { enemies[i].speed += 1; } } }; // Handle tap/click game.down = function (x, y, obj) { player.jump(); }; // Play music LK.playMusic('Music');
/****
* Classes
****/
// Define a class for enemies
var Enemy = Container.expand(function () {
var self = Container.call(this);
var enemyGraphics = self.attachAsset('enemy', {
anchorX: 0.5,
anchorY: 0.5,
scaleX: 0.83,
scaleY: 0.83
});
self.speed = 8;
self.passed = false;
self.update = function () {
self.x -= self.speed;
if (self.x < -50) {
self.destroy();
}
};
self.getHitbox = function () {
return {
x: self.x - 60,
y: self.y - 120,
width: 120,
height: 240
};
};
});
// Define a class for the player character
var Player = Container.expand(function () {
var self = Container.call(this);
var playerGraphics = self.attachAsset('player', {
anchorX: 0.5,
anchorY: 0.5,
scaleX: 0.95,
scaleY: 0.95
});
self.speed = 1000;
self.jumpHeight = 35;
self.isJumping = false;
self.velocityY = 0;
self.update = function () {
if (self.isJumping) {
self.y += self.velocityY;
self.velocityY += 0.7;
if (self.y >= 2732 / 2) {
self.y = 2732 / 2;
self.isJumping = false;
self.velocityY = 0;
}
}
};
self.jump = function () {
if (!self.isJumping) {
self.isJumping = true;
self.velocityY = -self.jumpHeight;
}
};
self.getHitbox = function () {
return {
x: self.x - 50,
y: self.y - 120,
width: 100,
height: 240
};
};
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x000000
});
/****
* Game Code
****/
// Initialize background
var background = game.addChild(LK.getAsset('background', {
anchorX: 0.5,
anchorY: 0.5,
x: 2048 / 2,
y: 2732 / 2
}));
// Initialize player
var player = game.addChild(new Player());
player.x = 2048 / 2 - 100;
player.y = 2732 / 2;
// Initialize enemies
var enemies = [];
var enemySpawnInterval = 100;
var enemySpawnCounter = 0;
// Create score text
var scoreText = new Text2('0', {
size: 100,
fill: 0xFFFFFF
});
LK.gui.top.addChild(scoreText);
scoreText.x = 2048 / 2;
scoreText.y = 0;
// Çarpışma kontrol fonksiyonu
function checkCollision(rect1, rect2) {
return rect1.x < rect2.x + rect2.width && rect1.x + rect1.width > rect2.x && rect1.y < rect2.y + rect2.height && rect1.y + rect1.height > rect2.y;
}
// Düşman oluşturmayı düzenli hale getiren fonksiyon
function spawnEnemy() {
var enemy = new Enemy();
enemy.x = 2048;
enemy.y = 2732 / 2;
enemy.passed = false;
enemies.push(enemy);
game.addChild(enemy);
}
// Game update loop
game.update = function () {
player.update();
// Enemy spawn logic
enemySpawnCounter++;
if (enemySpawnCounter >= enemySpawnInterval) {
spawnEnemy();
enemySpawnInterval = Math.floor(Math.random() * 100) + 50;
enemySpawnCounter = 0;
}
// Update enemies
for (var j = enemies.length - 1; j >= 0; j--) {
enemies[j].update();
// Çarpışma kontrolü
if (checkCollision(player.getHitbox(), enemies[j].getHitbox())) {
LK.effects.flashScreen(0xff0000, 1000);
LK.showGameOver();
LK.stopMusic();
LK.playMusic('Music');
}
// Enemy geçerse skor artar
else if (enemies[j].x < player.x && !enemies[j].passed) {
enemies[j].passed = true;
LK.setScore(LK.getScore() + 1);
scoreText.setText(LK.getScore());
}
// Ekranı terk ederse düşmanı sil
if (enemies[j].x < -50) {
enemies[j].destroy();
enemies.splice(j, 1);
}
}
// Enemy hızı her 5 saniyede bir artar
if (LK.ticks % 300 == 0) {
for (var i = 0; i < enemies.length; i++) {
enemies[i].speed += 1;
}
}
};
// Handle tap/click
game.down = function (x, y, obj) {
player.jump();
};
// Play music
LK.playMusic('Music');