Code edit (1 edits merged)
Please save this source code
User prompt
после попадания в противника, противник летит вниз со скоростью 25
User prompt
если пуля попадает в противника, противник не исчезает, а начинает лететь вниз под 15 градусов и уменьшается на 20 пикселей каждую секунду
Code edit (1 edits merged)
Please save this source code
User prompt
пуля в течение полета уменьшается на 3 пикселя каждую секунду
User prompt
УБРАТЬ вращение противников
User prompt
Migrate to the latest version of LK
Code edit (2 edits merged)
Please save this source code
User prompt
противники появляются с рандомным размером от 100 до 200
Code edit (1 edits merged)
Please save this source code
User prompt
размер противника увеличивается с 20 до 200 плавно, в течении 1 секунды
User prompt
сделать первоначальный размер противника 20 на 20, после 3 секунд размер увеличивается в 10 раз
User prompt
противники появляются на случайной высоте от 100 до 1366
User prompt
удалить игрока
User prompt
исправить ошибку, когда при появлении размер противника равен сразу 200 на 200
User prompt
размер картинки противника в течении 3 секунд после появления увеличивается до размеров 200 на 200
User prompt
картинка противника изначально появляется 1на1 и в течении 3 секунд постепенно увеличивается
User prompt
размер противника равен 50 на 50
User prompt
исправить ошибку, когда противник появляется сразу 200 на 200, а не 1 на 1
User prompt
размер противника увеличивается в течении 2 секунд
User prompt
при появлении противника его первоначальный размер равен 1на1, потом постепенно увеличивается до размеров 200 на 200
User prompt
размер противника сначала 1 потом в течении секунды увеличивается
User prompt
противники вылетаю всегда из x = 100 y = 1100
Code edit (1 edits merged)
Please save this source code
Code edit (1 edits merged)
Please save this source code
/****
* Classes
****/
// Enemy class for targets
var Enemy = Container.expand(function () {
var self = Container.call(this);
var enemyGraphics = self.attachAsset('enemy', {
anchorX: 0.5,
anchorY: 0.5
});
self.speed = 4;
self.move = function () {
self.x += self.speed;
self.rotation += 0.25; // Add rotation to the enemy
};
});
// Assets are automatically created based on usage in the code.
// Bullet class for bullets fired by the player
var PlayerBullet = Container.expand(function () {
var self = Container.call(this);
var bulletGraphics = self.attachAsset('playerBullet', {
anchorX: 0.5,
anchorY: 0.5
});
self.speed = -20;
self.move = function () {
self.x += self.speed * Math.cos(this.direction);
self.y += self.speed * Math.sin(this.direction);
};
self.distanceTo = function (other) {
var dx = other.x - this.x;
var dy = other.y - this.y;
return Math.sqrt(dx * dx + dy * dy);
};
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0xFFFFFF // Init game with white background
});
/****
* Game Code
****/
// Create a background
var background = game.addChild(new Container());
var backgroundGraphics = background.attachAsset('background', {
anchorX: 0.5,
anchorY: 0.5
});
background.x = 1024; // Center horizontally
background.y = 1366; // Center vertically
// Add a picture to the center of the screen
var picture = game.addChild(new Container());
var pictureGraphics = picture.attachAsset('picture', {
anchorX: 0.5,
anchorY: 0.5
});
picture.x = 850; // Center horizontally
picture.y = 1366; // Center vertically
var playerBullets = [];
var enemies = [];
var spawnEnemyInterval = 120; // Frames until next enemy spawns
var enemySpawnTimer = 0;
// Create player
var player = game.addChild(new Container());
var playerGraphics = player.attachAsset('PLAYER', {
anchorX: 0.5,
anchorY: 0.5
});
player.x = playerGraphics.width / 2; // Left side
player.y = 2632 - playerGraphics.height / 2; // Bottom
// Function to spawn enemies
function spawnEnemy() {
var enemy = new Enemy();
enemy.x = -50; // Start at the left
enemy.y = Math.random() * 1366; // Random position from top to middle of the screen
enemies.push(enemy);
game.addChild(enemy);
}
// Function to fire a bullet
function fireBullet() {
var bullet = new PlayerBullet();
bullet.x = 1024; // Center horizontally
bullet.y = 2632; // Bottom of the screen
playerBullets.push(bullet);
game.addChild(bullet);
return bullet;
}
// Touch event to move player and fire bullets
var lastBulletTime = 0;
game.on('down', function (obj) {
if (LK.ticks - lastBulletTime >= 60 || playerBullets.length === 0) {
// 60 ticks = 1 second at 60FPS
var bullet = fireBullet();
var touchPos = obj.event.getLocalPosition(game);
var angle = Math.atan2(bullet.y - touchPos.y, bullet.x - touchPos.x);
bullet.direction = angle; // Set direction to shoot towards the touch point
lastBulletTime = LK.ticks;
}
});
// Main game loop
LK.on('tick', function () {
// Move bullets
for (var i = playerBullets.length - 1; i >= 0; i--) {
playerBullets[i].move();
if (playerBullets[i].y < 0) {
// Remove bullets that go off screen
playerBullets[i].destroy();
playerBullets.splice(i, 1);
}
}
// Move enemies
for (var j = enemies.length - 1; j >= 0; j--) {
enemies[j].move();
if (enemies[j].y > 2732) {
// Remove enemies that go off screen
enemies[j].destroy();
enemies.splice(j, 1);
}
}
// Check for collisions
for (var b = playerBullets.length - 1; b >= 0; b--) {
for (var e = enemies.length - 1; e >= 0; e--) {
if (playerBullets[b] && enemies[e] && playerBullets[b].intersects(enemies[e]) && playerBullets[b].distanceTo(enemies[e]) <= 100) {
// Destroy both bullet and enemy on collision
playerBullets[b].destroy();
playerBullets.splice(b, 1);
enemies[e].destroy();
enemies.splice(e, 1);
break; // Exit loop after collision to avoid errors
}
}
}
// Spawn enemies
if (enemySpawnTimer <= 0) {
spawnEnemy();
enemySpawnTimer = spawnEnemyInterval;
} else {
enemySpawnTimer--;
}
});
черный шар. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
УТКА МУЛЬЯШНАЯ ЛЕТИТ. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
задний фон. небо голубое внизу картинки кусты. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Указательный палец нажимает. Мультяшный. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Белая мультяшная утка держит ружье и направляет в экран.. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
вывеска на двух ниточках с надписью: TImakovDS. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
снайперская винтовка. мультяшная. вид от первого лица. направлено вверх. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.