31
0
2mo
/**** * Classes ****/ // Class for bombs dropped by Viggen var Bomb = Container.expand(function () { var self = Container.call(this); var bombGraphics = self.attachAsset('bomb', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 15; self.update = function () { self.y += self.speed; if (self.y > 2732) { self.destroy(); } }; }); // Class for enemy defenses var Defense = Container.expand(function () { var self = Container.call(this); var defenseGraphics = self.attachAsset('defense', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 5; self.update = function () { self.y += self.speed; if (self.y > 2732) { self.y = -100; } }; }); //<Assets used in the game will automatically appear here> //<Write imports for supported plugins here> // Class for the player's aircraft var Viggen = Container.expand(function () { var self = Container.call(this); var viggenGraphics = self.attachAsset('viggen', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 10; self.update = function () { // Update logic for Viggen }; self.move = function (x, y, obj) { self.x = x; self.y = y; }; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x000000 //Init game with black background }); /**** * Game Code ****/ // Initialize player Viggen var viggen = game.addChild(new Viggen()); viggen.x = 1024; viggen.y = 2400; // Initialize defenses var defenses = []; for (var i = 0; i < 5; i++) { var defense = new Defense(); defense.x = Math.random() * 2048; defense.y = Math.random() * -1000; defenses.push(defense); game.addChild(defense); } // Initialize bombs var bombs = []; // Handle game move events game.move = function (x, y, obj) { viggen.move(x, y, obj); }; // Handle game update events game.update = function () { // Update defenses defenses.forEach(function (defense) { defense.update(); if (viggen.intersects(defense)) { LK.effects.flashScreen(0xff0000, 1000); LK.showGameOver(); } }); // Update bombs bombs.forEach(function (bomb, index) { bomb.update(); defenses.forEach(function (defense) { if (bomb.intersects(defense)) { defense.destroy(); bomb.destroy(); defenses.splice(defenses.indexOf(defense), 1); bombs.splice(index, 1); } }); }); // Drop bombs if (LK.ticks % 60 === 0) { var bomb = new Bomb(); bomb.x = viggen.x; bomb.y = viggen.y; bombs.push(bomb); game.addChild(bomb); } };
/****
* Classes
****/
// Class for bombs dropped by Viggen
var Bomb = Container.expand(function () {
var self = Container.call(this);
var bombGraphics = self.attachAsset('bomb', {
anchorX: 0.5,
anchorY: 0.5
});
self.speed = 15;
self.update = function () {
self.y += self.speed;
if (self.y > 2732) {
self.destroy();
}
};
});
// Class for enemy defenses
var Defense = Container.expand(function () {
var self = Container.call(this);
var defenseGraphics = self.attachAsset('defense', {
anchorX: 0.5,
anchorY: 0.5
});
self.speed = 5;
self.update = function () {
self.y += self.speed;
if (self.y > 2732) {
self.y = -100;
}
};
});
//<Assets used in the game will automatically appear here>
//<Write imports for supported plugins here>
// Class for the player's aircraft
var Viggen = Container.expand(function () {
var self = Container.call(this);
var viggenGraphics = self.attachAsset('viggen', {
anchorX: 0.5,
anchorY: 0.5
});
self.speed = 10;
self.update = function () {
// Update logic for Viggen
};
self.move = function (x, y, obj) {
self.x = x;
self.y = y;
};
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x000000 //Init game with black background
});
/****
* Game Code
****/
// Initialize player Viggen
var viggen = game.addChild(new Viggen());
viggen.x = 1024;
viggen.y = 2400;
// Initialize defenses
var defenses = [];
for (var i = 0; i < 5; i++) {
var defense = new Defense();
defense.x = Math.random() * 2048;
defense.y = Math.random() * -1000;
defenses.push(defense);
game.addChild(defense);
}
// Initialize bombs
var bombs = [];
// Handle game move events
game.move = function (x, y, obj) {
viggen.move(x, y, obj);
};
// Handle game update events
game.update = function () {
// Update defenses
defenses.forEach(function (defense) {
defense.update();
if (viggen.intersects(defense)) {
LK.effects.flashScreen(0xff0000, 1000);
LK.showGameOver();
}
});
// Update bombs
bombs.forEach(function (bomb, index) {
bomb.update();
defenses.forEach(function (defense) {
if (bomb.intersects(defense)) {
defense.destroy();
bomb.destroy();
defenses.splice(defenses.indexOf(defense), 1);
bombs.splice(index, 1);
}
});
});
// Drop bombs
if (LK.ticks % 60 === 0) {
var bomb = new Bomb();
bomb.x = viggen.x;
bomb.y = viggen.y;
bombs.push(bomb);
game.addChild(bomb);
}
};
Pixel art of a Saab Viggen, the Swedish fighter jet.. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
A anti-air missile. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
A Soviet fighter jet, facing down. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
supply crate. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows