webForumDet fria alternativet

problem med spel

Flash

1 svar · 418 visningar · startad av kylberg

Medlem sedan nov. 200796 inlägg
Frågan#1

jag har gjort ett vertical shooter spel med en timer på 30 sekunder, man ska försöka få 50 poäng innan tiden är slut för att klara det. jag har lyckats göra så man kommer till en frame som säger "tyvärr du förlora" när tiden tar slut. det enda jag har kvar är att få spelet till att hoppa till "grattis" framen när man får 50 poäng. jag postar hela koden här, så får ni gärna säga vad jag ska skriva in och var.

//---- variables ----
var steps:Number = 3;
var spriteX:Number = 351;
var spriteY:Number = 447;
var speed:Number  = 8;
var arrowActive:Boolean = false;
var dragons:Number = 4;
var i:Number = 0;
var score:Number = 0;
var countTotal = 30;
var id = setInterval(countDown, 1000, countTotal);
var anotherFrame = 2;

//---- functions ----
function countDown(){
    _root.timeLeft.text = --countTotal;
    if(countTotal <= 0){
        clearInterval(id);
        gotoAndPlay("lose2");
    }
}

function checkKeys() {
	if (Key.isDown(Key.RIGHT) && spriteX<726.5) {
		spriteX += steps;
	} 
	
	else if (Key.isDown(Key.LEFT) && spriteX>23.5) {
		spriteX -= steps;
	}
	
	if (Key.isDown(Key.SPACE)  && arrowActive  == false)  {
		attachMovie("arrow", "arrows", 8);
		arrows._x = spriteX;
		arrows._y = spriteY+50;
		arrowActive = true
	}
} 
	
function updatePawel() {
	knight._x = spriteX;
	knight._y = spriteY;
}
	
function updateArrow()  {
	if (arrowActive == true) {
		arrows._y -= speed;
	}
	if (arrows._y<-10) {
		arrowActive = false;
		removeMovieClip(arrows);
	}
} 
	
function initDragons() {
	for (i; i<dragons; i++) {
		attachMovie("dragon", "dragon"+i, i);
		dragon = _root["dragon"+i];
		updateDragons(dragon);
		dragon.onEnterFrame = function() {
			if (this.hitTest(arrows)) {
				score += 5;
				trace(score);
				arrowActive = false;
				removeMovieClip(arrows);
				updateDragons(this);
			}

			if (this._x>0) {
				this._x -= this.velo;
			} else {
				updateDragons(this);
			}
		};
	}
}

initDragons();
function updateDragons(which) {
	which.gotoAndStop(random(4));
	which._x = random(100)+750;
	which._y = random(80)+0;
	which.velo = random(5)+2;
}

this.onEnterFrame = function() {
	checkKeys();
	updatePawel();
	updateArrow();
};
Medlem sedan dec. 2006608 inlägg
#2
function countDown(){ 
    _root.timeLeft.text = --countTotal; 
    if (score >= 50){ 
        clearInterval(id); 
        gotoAndPlay("namnet_på_din_grattis-frame"); 
    } else if (countTotal <= 0){ 
        clearInterval(id); 
        gotoAndPlay("lose2"); 
    } 
}

Byt ut din countDown-funktion mot den här ovanför, glöm inte byta ut "namnet_på_din_grattis-frame" mot namnet på den frame där du har grattis-texten.

/Patrik

271 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
131 ms — deklarationer (db)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)