User prompt
The explosion fragment should spawn out as a perfect circle rather than in a random direction.
User prompt
When an explosion is triggered, shoot out six explosion fragments. If an element impacts one of these fragments, it should explode as well.
User prompt
Rather than creating a large exploding have six particles spawn out from the explosion point and fly off the screen.
Initial prompt
Chain Reaction Game
/****
* Classes
****/
// Enemy class
var Enemy = Container.expand(function () {
var self = Container.call(this);
var enemyGraphics = self.attachAsset('enemy', {
anchorX: 0.5,
anchorY: 0.5
});
self.update = function () {
// Enemy behavior can be added here
};
});
//<Assets used in the game will automatically appear here>
// Explosion class
var Explosion = Container.expand(function () {
var self = Container.call(this);
var explosionGraphics = self.attachAsset('explosion', {
anchorX: 0.5,
anchorY: 0.5
});
self.radius = 50;
self.expandRate = 5;
self.update = function () {
self.radius += self.expandRate;
explosionGraphics.width = self.radius * 2;
explosionGraphics.height = self.radius * 2;
if (self.radius > 200) {
self.destroy();
}
};
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x000000 //Init game with black background
});
/****
* Game Code
****/
// Initialize arrays and variables
var explosions = [];
var enemies = [];
// Function to create an explosion
function createExplosion(x, y) {
var explosion = new Explosion();
explosion.x = x;
explosion.y = y;
explosions.push(explosion);
game.addChild(explosion);
}
// Function to create an enemy
function createEnemy(x, y) {
var enemy = new Enemy();
enemy.x = x;
enemy.y = y;
enemies.push(enemy);
game.addChild(enemy);
}
// Handle screen press to create an explosion
game.down = function (x, y, obj) {
createExplosion(x, y);
};
// Update function called every game tick
game.update = function () {
// Update explosions
for (var i = explosions.length - 1; i >= 0; i--) {
explosions[i].update();
if (explosions[i].radius > 200) {
explosions.splice(i, 1);
}
}
// Check for collisions between explosions and enemies
for (var j = enemies.length - 1; j >= 0; j--) {
for (var k = 0; k < explosions.length; k++) {
if (enemies[j].intersects(explosions[k])) {
createExplosion(enemies[j].x, enemies[j].y);
enemies[j].destroy();
enemies.splice(j, 1);
break;
}
}
}
};
// Create initial enemies
createEnemy(500, 500);
createEnemy(1000, 1000);
createEnemy(1500, 1500);
Hexagonal target sprite sheet. Bright colors, cartoon. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Puzzle game background image. Lots of octagons and other interesting elements. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.