/* global SpaceGame */ 'atomic component'; exports.component = function(self) { var game = Atomic.game; var node = self.node; self.allowShoot = true; self.shootDelta = 0; var moveDelta = 0; var dead = false; self.onHit = function() { var expNode = SpaceGame.myscene.createChild("Explosion"); var exp = expNode.createJSComponent("Components/Explosion.js", { spawnPosition: node.worldPosition2D }); SpaceGame.removeEnemy(self); }; self.start = function() { // install AI node.createJSComponent("Components/AI.js"); var spaceSheet = game.getSpriteSheet("Sprites/spacegame_sheet.xml"); // add a sprite component to our node var sprite2D = self.sprite2D = node.createComponent("StaticSprite2D"); sprite2D.blendMode = Atomic.BlendMode.BLEND_ALPHA; sprite2D.sprite = spaceSheet.getSprite(self.spriteName); node.position2D = self.spawnPosition; node.roll(180); node.scale2D = [0.65, 0.65]; sprite2D.alpha = 0.0; self.dir = (Math.random() > .5); }; // update function called per frame with delta time self.update = function(timeStep) { // fade in var alpha = self.sprite2D.alpha; if (alpha < 1) { alpha += timeStep * 1.5; if (alpha > 1) alpha = 1; self.sprite2D.alpha = alpha; } var pos = node.position2D; var ppos = SpaceGame.playerNode.position2D; if (Math.random() > .98) { self.dir = !self.dir; } moveDelta += (self.dir ? timeStep * 4 : -timeStep * 4); pos = [self.spawnPosition[0], self.spawnPosition[1]]; pos[1] += Math.sin(moveDelta) * .1; node.position2D = pos; }; };