Code edit (8 edits merged)
Please save this source code
User prompt
the bullets should be scaling from MaxScale to MinScale. The enemies should be scaling from MinScale to MaxScale
User prompt
please define the MinScale and MaxScale as variables with values set to 1 and 4
User prompt
change the code so that the enemies spawn in waves. Each wave should have at max 3 enemies. A new wave of enemies should not spawn till the existing enemies have died.
Code edit (5 edits merged)
Please save this source code
User prompt
stop the enemies from going below 200 units from the bottom of the screen
Code edit (1 edits merged)
Please save this source code
User prompt
make it so that the enemies spawn at random x location. They should do a tween for a 0.5 seconds at the location of spawn where they scale from 0 - 0.5. Once the spawn tween is complete, they start moving towards the bottom of the screen. ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
make it sow that the enemies all spawn at the center of the screen, they are drawin after the cyan and blue rectangles and they move towards the bottom of the screen. They scale up to 1.5 as they move towards the screen.
User prompt
make it so that the player doesn't take damage on overlapping with enemies.
Code edit (2 edits merged)
Please save this source code
User prompt
on tween completion remove bullet from the bullets container and remove it from game. ↪💡 Consider importing and using the following plugins: @upit/tween.v1
Code edit (1 edits merged)
Please save this source code
User prompt
after finishing the tween stop drawing the bullet ↪💡 Consider importing and using the following plugins: @upit/tween.v1
Code edit (1 edits merged)
Please save this source code
User prompt
remove the bullets after the tween has finished playing.
Code edit (4 edits merged)
Please save this source code
User prompt
import @upit/tween.v1 ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
make it sow that the bullets are becoming smaller as they go farther from the player. ↪💡 Consider importing and using the following plugins: @upit/tween.v1
Code edit (2 edits merged)
Please save this source code
User prompt
update the drawing order so that the player is drawn after the cyan and blue rectangles.
User prompt
change the order of drawing so that the player sprite is drawn on top of everything else.
User prompt
define a variable called base_y which is assigned the value of bluerectangle - half of its' height.
User prompt
The grey rectangle has to be drawn before any other items are drawn on screen.
User prompt
the grey rectangle has to extend from center of the screen to the bottom of the screen.
/**** * Plugins ****/ var tween = LK.import("@upit/tween.v1"); /**** * Classes ****/ // Bullet class var Bullet = Container.expand(function () { var self = Container.call(this); var bulletGraphics = self.attachAsset('bullet', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 15; self.scaleX = MaxScale; self.scaleY = MaxScale; tween(self, { scaleX: MinScale, scaleY: MinScale }, { duration: 100, onComplete: function onComplete() { var index = bullets.indexOf(self); if (index > -1) { bullets.splice(index, 1); } game.removeChild(self); self.destroy(); } }); self.update = function () {}; }); // Enemy class var Enemy = Container.expand(function () { var self = Container.call(this); var enemyGraphics = self.attachAsset('enemy', { anchorX: 0.5, anchorY: 1 }); self.speed = 0; self.scaleX = MinScale; self.scaleY = MinScale / 4; tween(self, { scaleX: MinScale, scaleY: MinScale }, { duration: 500, onFinish: function onFinish() { self.speed = 5; } }); self.update = function () { if (self.speed < 1) { return; } if (self.y + self.speed < 2732 - 400) { self.y += self.speed; self.scaleX += 0.01; self.scaleY += 0.01; } }; }); //<Assets used in the game will automatically appear here> // Player class var Player = Container.expand(function () { var self = Container.call(this); var playerGraphics = self.attachAsset('player', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 10; self.update = function () { // Player update logic }; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x000000 //Init game with black background }); /**** * Game Code ****/ //<Assets used in the game will automatically appear here> // Initialize player var player = new Player(); player.x = 2048 / 2; player.y = 2732 - 200; // Initialize rectangle var rectangle = game.addChild(LK.getAsset('rectangle', { anchorX: 0.5, anchorY: 1 })); rectangle.x = 2048 / 2; rectangle.y = 2732 / 2; // Initialize cyan rectangle var cyanRectangle = game.addChild(LK.getAsset('cyanRectangle', { anchorX: 0, anchorY: 1 })); cyanRectangle.x = 0; cyanRectangle.y = 2732 / 2; // Initialize another cyan rectangle var cyanRectangle2 = game.addChild(LK.getAsset('cyanRectangle', { anchorX: 1, anchorY: 1 })); cyanRectangle2.x = 2048; cyanRectangle2.y = 2732 / 2; // Initialize grey rectangle var greyRectangle = game.addChildAt(LK.getAsset('greyRectangle', { anchorX: 0.5, anchorY: 0 }), 0); greyRectangle.x = 2048 / 2; greyRectangle.y = 2732 / 2; greyRectangle.height = 2732 / 2; // Adjust the height to cover the bottom half of the screen // Define base_y variable var base_y = greyRectangle.y - greyRectangle.height / 2; // Initialize enemies var enemies = []; var currentWave = 0; function spawnWave() { for (var i = 0; i < 3; i++) { var enemy = new Enemy(); enemy.x = Math.random() * 2048; enemy.y = 2732 / 2; enemy.scaleX = 0; enemy.scaleY = 0; enemies.push(enemy); } currentWave++; } spawnWave(); // Add enemies to game after the cyan and blue rectangles for (var i = 0; i < enemies.length; i++) { game.addChild(enemies[i]); } // Initialize bullets var bullets = []; // Define MinScale and MaxScale var MinScale = 1; var MaxScale = 4; // Handle player movement game.move = function (x, y, obj) { player.x = x; player.y = y; }; // Handle shooting game.down = function (x, y, obj) { var bullet = new Bullet(); bullet.x = player.x; bullet.y = player.y; bullets.push(bullet); game.addChild(bullet); }; // Add player to game game.addChild(player); // Game update loop game.update = function () { // Update bullets for (var i = bullets.length - 1; i >= 0; i--) { var bullet = bullets[i]; bullet.update(); if (bullet.y < 0) { bullet.destroy(); bullets.splice(i, 1); } } // Update enemies for (var j = 0; j < enemies.length; j++) { var enemy = enemies[j]; enemy.update(); } // Check if all enemies are dead if (enemies.length === 0) { // Spawn a new wave if all enemies are dead spawnWave(); } };
===================================================================
--- original.js
+++ change.js
@@ -40,12 +40,12 @@
anchorY: 1
});
self.speed = 0;
self.scaleX = MinScale;
- self.scaleY = MinScale;
+ self.scaleY = MinScale / 4;
tween(self, {
- scaleX: MaxScale,
- scaleY: MaxScale
+ scaleX: MinScale,
+ scaleY: MinScale
}, {
duration: 500,
onFinish: function onFinish() {
self.speed = 5;
magic energy ball in 16 bit pixel art style. It should have a glow effect so it feels like a powerful magic spell. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
brick wall with shield and swords hanging in the middle of it.. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
the brick wall is seamless and i should be able to use it to repeat the image multiple times by placing them side by side.
dungeon floor with cracks in the floor. Small grass scattered on the floor. . No shadows. 2d. In-Game asset. flat
red colored heart for representing player health in the game.. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
Magical projectile that will freeze the enemies.. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
magic projectile impact effect. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
magical fireball. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
orc mage, leather armor, staff with glowing crystal with freezing power. front facing, arms and legs clearly visible, wearing a hood made of cloth.. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows, 16 bit pixel art