Code edit (3 edits merged)
Please save this source code
User prompt
удалять картинку tap после 3 секунд игры
User prompt
исправить ошибку, когда после двух уменьшений и увеличений картинки tap она не исчезает
User prompt
исправить ошибку, когда после двух уменьшений и увеличений картинки tap она не исчезает
User prompt
исправить ошибку, когда после двух уменьшений и увеличений картинки tap она не исчезает
User prompt
картинка tap уменьшается и увеличивается дважды, потом изчезает
User prompt
картинка tap уменьшается и увеличивается 2 раза
User prompt
Изображение tap уменьшается на 40 пикселей потом увеличивается обратно В течении 0.5 секунд. происходит 2 повторения и потом картинка исчезает
Code edit (1 edits merged)
Please save this source code
User prompt
Изображение tap уменьшается на 50 пикселей потом увеличивается обратно В течении 2 секунд
User prompt
Изображение tap уменьшается на 50 пикселей потом увеличивается обратно
User prompt
Изображение tap вращается против часовой стрелки на 10 градусов и потом возвращается в обратное положение.
User prompt
Добавить изображение tap в центр экрана
User prompt
Наклонить картинку napr на 5 градусов
User prompt
Поменять картинку ramk на napr
Code edit (3 edits merged)
Please save this source code
User prompt
Добавить изображение ramk в правую нижнюю сторону экрана
Code edit (1 edits merged)
Please save this source code
User prompt
Добавить картинку weapon в нижний центр экрана
User prompt
Если противник пересек половину экрана, то red исчезает и появляется каждую секунду
User prompt
Если утка пересекла границу в половину экрана, то у red прозрачность равно 80 процентов
User prompt
Автоматически увеличивать и уменьшать прозрачность у red
User prompt
При пересечении уткой половину экрана, red начинает моргать
User prompt
Если утка пересекла x=1500, то прозрачность red доходит до 50 процентов и опять доходит до 0
User prompt
Изначально red прозрачная на 100 процентов
/**** * Classes ****/ // Enemy class for targets var Enemy = Container.expand(function () { var self = Container.call(this); self.id = Math.floor(Math.random() * 10000); // Assign a random id to each enemy var enemyGraphics = self.attachAsset('enemy', { anchorX: 0.5, anchorY: 0.5 }); self.speed = Math.random() * (6 - 4) + 4; self.hit = false; self._move_migrated = function () { if (self.hit) { var angle = 70 * (Math.PI / 180); // Convert angle to radians self.x += 20 * Math.cos(angle); // Move horizontally based on the angle self.y += 20 * Math.sin(angle); // Move vertically based on the angle self.scale.x -= 20 / 60 / enemyGraphics.width; // Decrease width by 20 pixels per second self.scale.y -= 20 / 60 / enemyGraphics.height; // Decrease height by 20 pixels per second self.rotation += Math.PI / 4 / 60; // Rotate by 45 degrees per second } else { self.x += self.speed; if (self.id % 3 == 0) { self.y += 2 * Math.sin(LK.ticks / 60); // Move up and down smoothly by 30 } } }; }); // 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 = -23; self._move_migrated = function () { self.x += self.speed * Math.cos(this.direction); self.y += self.speed * Math.sin(this.direction); self.scale.x -= 10 / 60 / bulletGraphics.width; // Decrease width by 3 pixels per second self.scale.y -= 10 / 60 / bulletGraphics.height; // Decrease height by 3 pixels per second }; 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 var redBar = game.addChild(LK.getAsset('Red', { anchorX: 1, anchorY: 0.5, x: 2048, y: 1366, alpha: 0 })); var playerBullets = []; var enemies = []; var spawnEnemyInterval = 150; // Frames until next enemy spawns var enemySpawnTimer = 0; // Function to spawn enemies function spawnEnemy() { var enemySize = Math.random() * (200 - 130) + 130; var enemy = new Enemy(); enemy.scale.x = enemySize / 200; enemy.scale.y = enemySize / 200; enemy.x = -130; // Start at the left enemy.y = Math.random() * (1366 - 150) + 150; // Random position from 100 to 1366 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 fire bullets var lastBulletTime = 0; game.on('down', function (x, y, obj) { if (LK.ticks - lastBulletTime >= 60 || playerBullets.length === 0) { // 30 ticks = 0.5 second at 60FPS var bullet = fireBullet(); var touchPos = game.toLocal(obj.global); var angle = Math.atan2(2632 - touchPos.y, 1024 - 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_migrated(); 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_migrated(); if (enemies[j].y > 2300) { // Remove enemies that go off screen or become too small if (enemies[j].y > 2300 || enemies[j].scale.x <= 0 || enemies[j].scale.y <= 0) { enemies[j].destroy(); enemies.splice(j, 1); } } } // Check for collisions for (var b = playerBullets.length - 1; b >= 0; b--) { var bullet = playerBullets[b]; if (bullet) { for (var e = enemies.length - 1; e >= 0; e--) { var enemy = enemies[e]; if (enemy && !enemy.hit && bullet.intersects(enemy) && bullet.distanceTo(enemy) <= 100) { if (enemy.x > 1500) { redBar.alpha = 0.5; } else { redBar.alpha = 0; } // Mark enemy as hit and destroy the bullet on collision bullet.destroy(); playerBullets.splice(b, 1); enemy.hit = true; break; // Exit loop after collision to avoid errors } } } } // Spawn enemies if (enemySpawnTimer <= 0) { spawnEnemy(); enemySpawnTimer = spawnEnemyInterval; } else { enemySpawnTimer--; } });
===================================================================
--- original.js
+++ change.js
@@ -138,10 +138,12 @@
if (bullet) {
for (var e = enemies.length - 1; e >= 0; e--) {
var enemy = enemies[e];
if (enemy && !enemy.hit && bullet.intersects(enemy) && bullet.distanceTo(enemy) <= 100) {
- if (enemy.x > 1948) {
- LK.effects.flashObject(redBar, 0xe22400, 500);
+ if (enemy.x > 1500) {
+ redBar.alpha = 0.5;
+ } else {
+ redBar.alpha = 0;
}
// Mark enemy as hit and destroy the bullet on collision
bullet.destroy();
playerBullets.splice(b, 1);
черный шар. 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.