Einfaches Spiel - Fehler - attachMovie

bigfella

Erfahrenes Mitglied
Hi.
Erstelle grad ein Spiel.
Wirklich simple gehalten.
Mit einem Ufo sammelt man "gute" Bälle ein und meidet "schlechte" Bälle (sonst Punktabzug).

Hab eine leere Instanz mit folgendem Code:
Code:
onClipEvent(enterFrame)
{
	anzahl_guterbälle = Math.round(Math.random() * 20);
	if(anzahl_guterbälle == 1)
	{
		gefangen = gefangen + 1
		_root.attachMovie("gute_bälle", "ball" + gefangen, gefangen);
		setProperty("_root.ball" + gefangen, _y, Math.random() * 290);
	}
}

Über "attachMovie" hole ich eine zufällige Anzahl links ins Bild, die dann am rechten Rand wieder über "removeMovieClip" entfernt werden.
PROBLEM: Jedoch werden meine Bälle schon nach kurzen Weg wieder gelöscht. Zusätzlich sind von jeder Ballinstanz nur maximal 1 Instanz auf der Bühne.

Hier noch ein Teil des Codes einer Ballinstanz:
Code:
this._x = this._x+8;
if(this.hitTest(_root.ufo_mc))
{
	gotoAndPlay(3);
}
if(_x > 600)
{
	this.removeMovieClip();	
}

Hoffe es wird euch eingefleischten Flashprofis klar was ich meine:)
Wäre toll wenn mir jemand weiterhelfen könnte..
Vielen Dank.
 
Hallo,

nach meinem Dafürhalten macht dein Script hier Sinn und der Fehler muss irgendwo anders liegen. Könntest du nicht vielleicht mal deine *.fla bzw. relvante Auszüge posten?

gruss
 
Hallo,

du hast durchs Band vergessen, deine Zählvariablen zu deklarieren. Wenn du zu einer bis anhin undefinierten Variable 10 dazuzählst, sieht die Rechnung eigentlich so aus:
Code:
undefined + 10

Diese Zeile gibt logischerweise NaN (Not a Number) zurück.

Das Problem löst du folgendermassen:


1. Auf deinen Gute-Bälle-Steuerclip legst du zusätzlich folgenden Code:
Code:
onClipEvent (load) {
    gefangen = 0;
}

2. Analog dazu verfährst du mit deinem Böse-Bälle-Steuerclip, bloss heisst hier die Variable anders:
Code:
onClipEvent (load) {
    ausweichen = 0;
}


3. Zu guter Letzt initiierst du noch die Variable "punktestand" auf der Hauptzeitleiste:
Code:
punktestand = 0;

gruss

PS: Ich verstehe, dass es ärgerlich sein kann, einen halben Tag auf eine Lösung zu warten, wenn man doch eigentlich gerne am Projekt weiterarbeiten will. Ich versteh auch, dass jemand, dessen Thread seit Wochen brach liegt, nochmals ein Posting verfasst, um die Aufmerksamkeit Hilfsbereiter auf sich zu ziehen. Aber ich mag es nicht, wegen eines halben Tages per PN an die Arbeit gedrückt zu werden, ich/wir helfen hier schliesslich freiwillig, unentgeltlich und in der Regel brutal speditiv.
 
Zuletzt bearbeitet:
Entschuldigung, du hast ja Recht.
Tur mir leid.
Wird nicht wieder vorkommen...

Zum Spiel.
Danke aufjedenfall für deine ausführliche Hilfe.
Jetzt funktioniert der Spielstand.

Nur das mit den Bällen besteht weiterhin.
Sind maximal 2 Bälle auf der Bühne.
Obwohl ich ja eigentlich beliebig viele vorbeifliegen lassen wollte.
Aber an was könnte das nur liegen?
 
Hast vollkommen Recht.
Hab mit dem "gute_bälle" MOVIECLIP gearbeitet.
Nicht der "leeren" Instanz davon.

Fange erst an mit Actionscript.. deshalb :)
Jetzt hab ich es verstanden und funktioniert.
Vielen Dank nochmal für Deine Hilfe und
sorry wegen der PN;)
 
Zurück