Flash Spiel - duplicate movieclip und so weiter

a*new*found*flo

Erfahrenes Mitglied
Hallo zusammen!
Ich kämpfe nun schon seit einiger Zeit mit einem Flash-Spiel für eines meiner Schulfächer.
In diesem Spiel geht es darum Microtypografische Fehler zu entdecken und zu markieren.
Markiert man Fehler die keine sind, wird einem "Leben" abgezogen.
Die Fehler sind mit hidden Movieclips markiert und werden per Hittest überprüft.
Allerdings stehe ich momentan bei dem Problem, dass ich zwar die Movieclips duplizieren kann, aber es nicht schaffe diese dynamisch per Schleife oder ähnlichem zu duplizieren.
Leider verstricke ich mich immer weiter in diversen Fehlern, darum schreie ich hier mal um Hilfe.
Hier mal der Code.
PHP:
this.onEnterFrame = function() {
	var test = 0;
	var punkte = 0;
	
	var springe = 0;
	
	
	zeitungen.onRelease = function() {
	if (zaehler < 8) {
        zaehler++;
    } else {
        var springe = zaehler * 5;
   
   }
   
	leben.punktenr.text = punkte;
	ex._x = _xmouse;
	ex._y = _ymouse;
	ex._alpha = 100;
	
	if (ex.hitTest(fehler1)) {
		var punkte = punkte + 10;
		leben.punktenr.text = punkte;
	
		}
	
	if (ex.hitTest(fehler1) == false) {
		if(springe == 5) {
		leben.gotoAndStop(5);
		}
		if(springe == 10) {
		leben.gotoAndStop(10);
		}
		if(springe == 15) {
		leben.gotoAndStop(15);
		}
		if(springe == 20) {
		leben.gotoAndStop(20);
		}
		if(springe == 25) {
		leben.gotoAndStop(25);
		}
		if(springe == 30) {
		leben.gotoAndStop(30);
		}
		if(springe == 35) {
		leben.gotoAndStop(35);
		}
		if(springe == 40) {
		leben.gotoAndStop(40);
		}
	}
	
}
	
}
Hier der link zur FLA Datei: http://www.frankscrew.com/game.fla Es wäre super, wenn mir jemand ein wenig unter die Arme greifen könnte. Mit der Suche komme ich nämlich auch nicht mehr weiter.
 
So, ich habe mittlerweile einen anderen Weg durch das Forum gefunden, der aber leider auch noch nicht wirklich funktioniert.
Hier der Code:
PHP:
	var test = 0;
	var punkte = 0;
	var springe = 0;
	var zaehler = 0;
	var ebene = 4;
	var i:Number = 0;
	
	this.onEnterFrame = function() {
	zeitungen.onRelease = function() {
	if (zaehler < 8) {
       
		
		
		_root["contain"+zaehler] = _root.ex.duplicateMovieClip("ex"+zaehler, 4, {_x:_xmouse, _y:_ymouse});
		
		 zaehler++;
		
		
		
		ebene+1;
		var springe = zaehler * 5;
	} else {
  }
   
	leben.punktenr.text = punkte;
	
	
	
	if (ex.hitTest(fehler1)) {
		var punkte = punkte + 10;
		leben.punktenr.text = punkte;
	
		}
	
	if (ex.hitTest(fehler1) == false) {
		if(springe == 5) {
		leben.gotoAndStop(5);
		}
		if(springe == 10) {
		leben.gotoAndStop(10);
		}
		if(springe == 15) {
		leben.gotoAndStop(15);
		}
		if(springe == 20) {
		leben.gotoAndStop(20);
		}
		if(springe == 25) {
		leben.gotoAndStop(25);
		}
		if(springe == 30) {
		leben.gotoAndStop(30);
		}
		if(springe == 35) {
		leben.gotoAndStop(35);
		}
		if(springe == 40) {
		leben.gotoAndStop(40);
		_root.gameover.gotoAndPlay(2);
		

		}
	}
	
}
	}
 
Zuletzt bearbeitet:
Hi,

ich würde Dir empfehlen, die erstellten Duplikate (einfacher gehts übrigens in der Regel mit attachMovie, ohne dass sich ein Original auf der Bühne befindet) in einem Array abzulegen.

Generell macht Dein Code an vielen Stellen nicht wirklich Sinn für mich: Was bringt es z.B. ein Mausereignis in einer onEnterFrame-Methode unterzubringen?

Ohne dass mir klar ist, worauf Du hinaus willst, kann ich Dir nicht weiterhelfen.

Gruß
.
 
Hallo!
Danke für die Antwort.
Mittlerweile funktioniert zumindest das duplizieren.
Nun brauche ich nur noch per Hittest überprüfen, ob das Kreuz auf ein richtiges Feld gesetzt wurde oder auf ein falsches.
Sieht einstweilen so aus:
PHP:
	var test = 0;
	var punkte = 0;
	var springe = 0;
	var zaehler = 0;
	var ebene = 4;
	var i:Number = 0;
	
	
	this.onEnterFrame = function() {
		  
		// Kanone //
		var dy = _ymouse - cannon._y;
	var dx = _xmouse - cannon._x;
	var ang = Math.atan(dy / dx);
	if (dx > 0) {
		ang += Math.PI / 2;
	} else {
		ang -= Math.PI / 2;
	}
	cannon._rotation = ang * 180 / Math.PI;
	//Fadenkreuz//
		_root.fadenkreuz._y = _ymouse;
		_root.fadenkreuz._x = _xmouse;
		Mouse.hide(); 
		
		// rest// 
	zeitungen.onRelease = function() {
	if (zaehler < 8) {
       
		
		
		_root["contain"+zaehler] = _root.ex.duplicateMovieClip("ex"+zaehler, ebene, {_x:_xmouse, _y:_ymouse});
		_root.sound.gotoAndPlay(2);
		 zaehler++;
		
		
		
		ebene++;
		var springe = zaehler * 5;
		
	
		
	} else {
  }
   
	
	leben.punktenr.text = punkte;
		if (ex.hitTest(fehler1) == true) {
		var punkte = punkte + 10;
		leben.punktenr.text = punkte;
		}
	
	
	
	
	if (ex.hitTest(fehler1) == false) {
		if(springe == 5) {
		leben.gotoAndStop(5);
		}
		if(springe == 10) {
		leben.gotoAndStop(10);
		}
		if(springe == 15) {
		leben.gotoAndStop(15);
		}
		if(springe == 20) {
		leben.gotoAndStop(20);
		}
		if(springe == 25) {
		leben.gotoAndStop(25);
		}
		if(springe == 30) {
		leben.gotoAndStop(30);
		}
		if(springe == 35) {
		leben.gotoAndStop(35);
		}
		if(springe == 40) {
		leben.gotoAndStop(40);
		
		for(i=0; i<8; i++) {
			_root["contain"+i].removeMovieClip();
			
		}
		_root.gameover.gotoAndPlay(2);
		

		}
	}
	
}
	
}

was hättest du zu verbessern?
 
Hi,

poste bitte noch einmal Deine aktuelle Datei. Aus dem reinen Code kann ich mir kein rechts Bild machen (zumal dort immer noch Unstimmigkeiten vorhanden sind).

Gruß
.
 
Hey, super, dass hilft mir sehr weiter!
Wie kann ich es jetzt noch anstellen, dass das Leben nicht verringert wird, wenn ich einen Fehler erkannt habe?

Bsp: Ich treffe fehler1 mit Instanznamen fehler1 und das Leben (bzw die Anzahl der Schüsse) wird nicht verringert.
 
Zurück