Code edit (1 edits merged)
Please save this source code
User prompt
добавить Picture в центр экрана
Code edit (1 edits merged)
Please save this source code
User prompt
сделать задний фон Background
User prompt
Please fix the bug: 'TypeError: playerBullets[b].distanceTo is not a function' in or related to this line: 'if (playerBullets[b] && enemies[e] && playerBullets[b].intersects(enemies[e]) && playerBullets[b].distanceTo(enemies[e]) <= 100) {' Line Number: 113
User prompt
сделать проверку пересечения пули и противника в радиусе 100 противника
User prompt
исправить ошибку, когда пули летят в противоположную сторонгу
User prompt
пули летят в направлении нажатия по экрану
User prompt
исправить ошибку, когда выстрелы стреляют не по вертикали
User prompt
игрок не перемещается после нажатия по экрану
Code edit (4 edits merged)
Please save this source code
User prompt
добаить картинку игрока в левый нижний угол
User prompt
добавить картинку игрока в нижний левый угол
User prompt
добавить player в левый нижний угол
Code edit (1 edits merged)
Please save this source code
User prompt
добавить вращение мишени
Code edit (1 edits merged)
Please save this source code
Code edit (1 edits merged)
Please save this source code
User prompt
сделать фон белый
User prompt
первый выстрелил летит без задержки
User prompt
сделать задержку пере выстрелом раз в 1 секунду
User prompt
увеличить скорость противника на 3
User prompt
враг вылетает с левой части экрана в правую в случайном положении от верхней части до середины экрана
User prompt
враг летит не вертикально, а по горизонтали
User prompt
исправить ошибку, когда пуля летит в противоположную сторону от нажатия по экрану
/**** * 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--; } });
===================================================================
--- original.js
+++ change.js
@@ -57,9 +57,9 @@
var pictureGraphics = picture.attachAsset('picture', {
anchorX: 0.5,
anchorY: 0.5
});
-picture.x = 1024; // Center horizontally
+picture.x = 850; // Center horizontally
picture.y = 1366; // Center vertically
var playerBullets = [];
var enemies = [];
var spawnEnemyInterval = 120; // Frames until next enemy spawns
черный шар. 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.