Grunder till datorspel/skjutspel

score_txt.text="0";

//Flytta maincharacter med piltangenter
var leftDown:Boolean = false;
var upDown:Boolean = false;
var rightDown:Boolean = false;
var downDown:Boolean = false;
var spaceDown:Boolean = false;

//Styra hastighet på maincharacter. Testa att ändra 10 till något annat heltal.
var mainSpeed:int = 10;

maincharacter.addEventListener(Event.ENTER_FRAME, moveChar);
function moveChar(event:Event):void{
if(leftDown){
maincharacter.x -= mainSpeed;
backgr_mc.x+=mainSpeed/6;
cloud_mc.x+=mainSpeed/3;
}
if(upDown){
maincharacter.y -= mainSpeed;
backgr_mc.y+=mainSpeed/6;
cloud_mc.y+=mainSpeed/3;
}
if(rightDown){
maincharacter.x += mainSpeed;
backgr_mc.x-=mainSpeed/6;
cloud_mc.x-=mainSpeed/3;
}
if(downDown){
maincharacter.y += mainSpeed;
backgr_mc.y-=mainSpeed/6;
cloud_mc.y-=mainSpeed/3;
}
//Hindra maincharacter att röra sig utanför fönstrets kanter.
if(maincharacter.x <= 0-maincharacter.width/10){
maincharacter.x += mainSpeed;
backgr_mc.x-=mainSpeed/6;
cloud_mc.x-=mainSpeed/3;
}
if(maincharacter.y <= 0){
maincharacter.y += mainSpeed;
backgr_mc.y-=mainSpeed/6;
cloud_mc.y-=mainSpeed/3;
}
if(maincharacter.x >= stage.stageWidth ){
maincharacter.x -= mainSpeed;
backgr_mc.x+=mainSpeed/6;
cloud_mc.x+=mainSpeed/3;
}
if(maincharacter.y >= stage.stageHeight){
maincharacter.y -= mainSpeed;
backgr_mc.y+=mainSpeed/6;
cloud_mc.y+=mainSpeed/3;
}
}

stage.addEventListener(KeyboardEvent.KEY_DOWN, checkKeysDown);

function checkKeysDown(event:KeyboardEvent):void{
if(event.keyCode == 37 || event.keyCode == 65){
leftDown = true;
}
if(event.keyCode == 38 || event.keyCode == 87){
upDown = true;
}
if(event.keyCode == 39 || event.keyCode == 68){
rightDown = true;
}
if(event.keyCode == 40 || event.keyCode == 83){
downDown = true;
}

if(event.keyCode == 32 ){
spaceDown = true;
}
}

stage.addEventListener(KeyboardEvent.KEY_UP, checkKeysUp);

function checkKeysUp(event:KeyboardEvent):void{
if(event.keyCode == 37 || event.keyCode == 65){
leftDown = false;
}
if(event.keyCode == 38 || event.keyCode == 87){
upDown = false;
}
if(event.keyCode == 39 || event.keyCode == 68){
rightDown = false;
}
if(event.keyCode == 40 || event.keyCode == 83){
downDown = false;
}
if(event.keyCode == 32 ){
spaceDown = false;
}
}

//Main character ska skjuta iväg kulor eller dylikt.
stage.addEventListener(KeyboardEvent.KEY_DOWN, createshot);
var bullet:bullet_mc;

function createshot(e:KeyboardEvent):void
{
if(spaceDown){
bullet = new bullet_mc();
//Placering av kula när de skjuts iväg från maincharacter.
//Du kan behöva trixa lite med värdena för x o y.
bullet.x=maincharacter.x ;
bullet.y=maincharacter.y-maincharacter.height/2;
addChild(bullet);
bullet.addEventListener(Event.ENTER_FRAME, movebullet);
}
}

function movebullet(e:Event):void
{
//Hastigheten på kulorna som maincharacter skjuter iväg.
//Testa att ändra 10 till något annat o se vad som händer.
e.target.y-=10;
}

//Skapa fiender.
var enemy:enemie_mc;
var timer:Timer = new Timer(1,1);
var xRange:Number = stage.stageWidth;
var yRange:Number = this.height;
timer.addEventListener(TimerEvent.TIMER, createEnemies);

function createEnemies(event:TimerEvent):void
{
//Om du ändrar värdet 1000 kommer antalet fiender öka eller minska.
timer.delay = Math.random() * 4000;
timer.reset();
timer.start();
enemy = new enemie_mc();
enemy.x = Math.random() * xRange-xRange/2;
enemy.y = Math.random() * -yRange/200 - 200;
//addChild(holder);
holder_mc.addChild(enemy);
enemy.addEventListener(Event.ENTER_FRAME, animateenemy);
enemy.addEventListener(Event.ENTER_FRAME, killed);
}
timer.start();
//score
var currentValue:int=0;

function animateenemy(event:Event):void
{
event.target.y +=2;
if(bullet != null && event.target.stage)
{
if(event.target.hitTestObject(bullet))
{
this.removeEventListener(Event.ENTER_FRAME, animateenemy);
var explosion:Sound=new cannon();
explosion.play();
//trace("träff!");
event.target.parent.removeChild(event.target);
currentValue++;
score_txt.text = currentValue.toString();
//trace(currentValue);
}
}
}

//Skapa poäng.
var point:Carrot_mc;
var pointtimer:Timer = new Timer(1,1);
pointtimer.addEventListener(TimerEvent.TIMER, createpoints);

function createpoints(event:TimerEvent):void
{
//Om du ändrar värdet 1000 kommer antalet fiender öka eller minska.
pointtimer.delay = Math.random() * 4000;
pointtimer.reset();
pointtimer.start();
point = new Carrot_mc();
point.x = Math.random() * xRange-xRange/2;
point.y = Math.random() * -yRange/200 - 200;
//addChild(holder);
pointholder_mc.addChild(point);
point.addEventListener(Event.ENTER_FRAME, animatepoint);
}
pointtimer.start();
//score

function animatepoint(event:Event):void
{
event.target.y +=2;
if(bullet != null && event.target.stage)
{
if(event.target.hitTestObject(bullet))
{
this.removeEventListener(Event.ENTER_FRAME, animatepoint);
var explosion:Sound=new cannon();
explosion.play();
//trace("träff!");
event.target.parent.removeChild(event.target);
currentValue++;
score_txt.text = currentValue.toString();
//trace(currentValue);
}
}
}

function killed(event:Event):void
{
if(maincharacter !=null && event.target.stage)
{
if(event.target.hitTestObject(maincharacter))
{


var explosion:explosion_mc=new explosion_mc();
this.addChild(explosion);
explosion.x=maincharacter.x;
explosion.y=maincharacter.y;
//removeChild(explosion);
//this.gotoAndStop(1);
//event.target.parent.removeChild(event.target);
//event.target.parent.alpha=0;
//trace(event.target.parent.alpha);


score_txt.text="Ooops! Du fick " + currentValue + " poäng";
//trace("killed!");
if (this.contains(maincharacter))
{
removeChild(maincharacter);
maincharacter.removeEventListener(Event.ENTER_FRAME, moveChar);
this.removeEventListener(Event.ENTER_FRAME, animateenemy);
timer.removeEventListener(TimerEvent.TIMER, createEnemies);
this.removeEventListener(Event.ENTER_FRAME, killed);
stage.removeEventListener(KeyboardEvent.KEY_DOWN, createshot);
//event.target.parent.removeChild(event.target);
//holder.removeChild(enemy);

this.gotoAndStop(3);
}
}
}
}

Kommentarer

Kommentera inlägget här:

Namn:
Kom ihåg mig?

E-postadress: (publiceras ej)

URL/Bloggadress:

Kommentar:

Trackback
RSS 2.0