Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 20-02-2004, 15:25   #1 (permalink)
Neuer User
 
Registriert seit: Feb 2004
Beiträge: 2
MovieClips entladen sich gegenseitig

Hallo.
Ich sitze gerade an einen Spiel. Aufgabe ist es Gegesnatände die in das Spielfeld fliegen zu fangen.
Das funktioniert auch soweit, bis uaf eine kleine aber wesentliche Sache.
Der erste Gegenstand kommt angeflogen, verschwindet aber direkt, wenn der nächste auf der Bühne erscheint und so weiter. Es ist also nie mehr als ein zu fangender Gegenstand auf der Bühne.

Konkret:
Ich ahgeb einen Gegenstand "gut" und einen "schlecht" als movieClip erzegt.
Diese haben je vier Frames mit folgenden Angaben:
Frame 1 :
this._x = this._x-5;
if (this.hitTest(_root.spielfigur.hitTest)) {
gotoAndPlay("getroffen");
}
if (_this._x>0) {
this.removeMovieClip();
}
Frame2:
this.gotoAndPlay (1);
Frame3:
_root.punktestand = _root.punktestand + 1;
(bei "schlecht" natürlich -1)
Frame 4:
this.removeMovieClip();


Dann habe ich die Clips über das Kontextmenue "verknüpfen" verknüpft.
Als nächstes habe ich eine Leere Movieclip-Instanz auf die Bühne gezogen und hab dieser folgendes hinzugefügt :
Für "gut":
onClipEvent (enterFrame) {
anzGut = Math.round(Math.random()*50);
if (anzGut == 1) {
zaehlerGut++;
_root.attachMovie("gut","gut"+zaehlerGut,zaehlerGu t);
setProperty("_root.gut"+zaehlerGut, _x, 600);
setProperty("_root.gut"+zaehlerGut, _y, Math.random()*400);
setProperty("_root.gut"+zaehlerGut, _rotation, Math.random()*20);
}
}

Für "schlecht":
onClipEvent (enterFrame) {
anzSchlecht = Math.round(Math.random()*50);
if (anzSchlecht == 1) {
zaehlerSchlecht++;
_root.attachMovie("schlecht", "schlecht"+zaehlerSchlecht, zaehlerSchlecht+20);
setProperty("_root.schlecht"+zaehlerSchlecht, _x, 600);
setProperty("_root.schlecht"+zaehlerSchlecht, _y, Math.random()*400);
setProperty("_root.schlecht"+zaehlerSchlecht, _rotation, Math.random()*20);
}
}

Die Zeile ("schlecht", "schlecht"+zaehlerSchlecht, zaehlerSchlecht+20); enthält hier ja zusätzlich schon die +20, damit sollte eigentlich vermieden werden, das sich die Clips gegenseitig entladen. Sie tun es aber denn noch.
Ich hoffe mir kann jemand helfen!!!

Viele Grüße,
Laura
laurak ist offline   Mit Zitat antworten
Alt 21-02-2004, 15:00   #2 (permalink)
Danilo Sandner
 
Registriert seit: Jun 2001
Ort: frankfurt am main
Beiträge: 286
wenn sich die attachten mc's gegenseitig "ersetzen" und das nicht sollen,
nimm doch einfach zwei leere "host mc's" welche du in den _root legst und an diese attachst.
anstelle direkt an _root zu attachen, mein ich.

dann kommen die sich alle nicht in die quere
__________________
www.DaniloSandner.de

www.FlashTreffen.de (Flashtreffen in Frankfurt)
danilo ist offline   Mit Zitat antworten
Alt 21-02-2004, 15:11   #3 (permalink)
meistens harmlos
 
Benutzerbild von rena
 
Registriert seit: Jun 2001
Ort: Stuttgart
Beiträge: 17.643
Hast du zaehlerGut und zaehlerSchlecht irgendwo zu Anfang definiert?

Flash ist mit MX2004 noch genauer geworden in solchen Dingen.
Will heißen ohne Definition wie zaehlerGut=0 z.B. im onClipEvent(load) ist die Variable zaehlerGut undefined und undefined++ oder undefined+20 bleibt halt dennoch undefined.

Gruß
rena
__________________
www.rena-hermann.de

The angels have the phone box
rena ist offline   Mit Zitat antworten
Alt 27-02-2004, 14:52   #4 (permalink)
Neuer User
 
Registriert seit: Feb 2004
Beiträge: 2
Danke ihr Zwei.
Habs hinbekommen.
Woran es genau lag weiß ich zwar immer noch nicht, abe rich habs nochmal von vorne gemacht und dann hats funktioniert.
Viele Grüße, Laura
laurak ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 01:42 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele