import flash.display.MovieClip;
import flash.accessibility.Accessibility;
import flash.media.SoundChannel;
import flash.events.Event;
import flash.events.KeyboardEvent;
var enemy :MovieClip = new emy();
var hol :MovieClip = new hold();
var fir :MovieClip = new fire();
var bul1 :MovieClip = new bullet();
var bul2 :MovieClip = new bullet();
var plySpd :int = 5;
var emySpd :int = 8;
var bulSpd :int = 15;
var initT :int = 0;
var currT :int = 0;
var ready :Boolean = false;
var hp :int = 3;
var fsd : fsound = new fsound();
var hsd : hsound = new hsound();
var ch :SoundChannel = new SoundChannel();
create();
function create()
{
stage.addChild(enemy);
enemy.gotoAndStop(1);
enemy.x = Math.floor(Math.random()*451)+50;
enemy.y = 4;
hp = 3;
enemy.addEventListener(Event.ENTER_FRAME,AI);
}
function AI(e:Event)
{
if(enemy.x + emySpd > 500)
{
enemy.x = 500;
emySpd *= -1;
}
else if (enemy.x + emySpd < 50)
{
enemy.x = 50;
emySpd *= -1;
}
else
enemy.x += emySpd;
}
stage.addEventListener(Event.ENTER_FRAME,loop);
function loop(e:Event)
{
if (enemy.death == true)
{
enemy.removeEventListener(Event.ENTER_FRAME,AI);
stage.removeChild(enemy);
create();
}
if(ch.position > 1600)
ch = hsd.play(0);
}
stage.addEventListener(KeyboardEvent.KEY_DOWN,kdown);
function kdown(e:KeyboardEvent)
{
switch(e.keyCode)
{
case 37:
if(player.x - plySpd < 50)
player.x = 50;
else
player.x -= plySpd;
break;
case 39:
if(player.x + plySpd > 500)
player.x = 500;
else
player.x += plySpd;
break;
case 32:
if(initT == 0)
{
initT = getTimer();
stage.addEventListener(Event.ENTER_FRAME,gather);
}
}
}
function gather(e:Event)
{
currT = getTimer();
if(currT - initT > 2000 && ready == false)
{
ready = true;
stage.removeEventListener(Event.ENTER_FRAME,gather);
stage.addChild(hol);
hol.addEventListener(Event.ENTER_FRAME,follow);
hol.play();
ch = hsd.play();
}
}
function follow(e:Event)
{
e.target.x = player.x;
e.target.y = player.y - player.height/2;
}
stage.addEventListener(KeyboardEvent.KEY_UP,kup);
function kup(e:KeyboardEvent)
{
if(e.keyCode == 32)
{
initT = 0;
stage.removeEventListener(Event.ENTER_FRAME,gather);
if(ready == true)
{
ready = false;
ch.stop();
hol.removeEventListener(Event.ENTER_FRAME,follow);
stage.removeChild(hol);
setbul(fir);
}
else
{
for(var i = 1; i < 4 ; i++)
if(this["bul" + i].within == false)
{
setbul(this["bul" + i ]);
break;
}
}
}
}
function setbul(bul)
{
bul.x = player.x ;
bul.y = player.y - player.height/2;
stage.addChild (bul);
bul.within = true;
fsd.play();
bul.addEventListener(Event.ENTER_FRAME,got);
}
function got(e:Event)
{
e.target.y -= bulSpd;
if(e.target.hitTestObject(enemy) == true && hp > 0)
{
e.target.within = false;
e.target.removeEventListener(Event.ENTER_FRAME,got);
stage.removeChild(MovieClip(e.target));
hp -= e.target.dam;
if(hp > 0 )
enemy.play();
else
enemy.gotoAndPlay("die");
}
else if (e.target.y < 0)
{
e.target.within = false;
e.target.removeEventListener(Event.ENTER_FRAME,got);
stage.removeChild(MovieClip(e.target));
}
}