MC1 calls MC2 calls MC1

Stephan Zesiger

Erfahrenes Mitglied
Grüss Euch!

Also: ich hab 2 MC's auf root (einfache, farbige Rechtecke). Im 1.Frame von MC1 steht folgender Code:


PHP:
_parent.MC2.onEnterFrame=function () {
	this._alpha-=3;
}

der MC2 wird also langsam unsichtbar. Nun möchte ich einen code im 1.Frame der bewirkt, dass MC2 auf die Veränderung seines Alpha-Wertes reagieren kann. zB so: wenn mein Alpha-Wert kleiner als 20 dann verändere den Alpha-Wert von MC1.

Wichtig ist: dieser Befehl muss im MC2 stehen (sonst wärs einfach).Sollte doch möglich sein, oder ?
 
Zuletzt bearbeitet:
PHP:
 if (_root.mc2._alpha < 20) {
 _root.mc1._alpha = 60;
}
sofern der alphawert von mc1 auch langsam verändert werden soll, dann muß dieser code mehrmals aufgerufen werden, z.b. in dem man folgende in frame 1 schreibt:
PHP:
 if (_root.mc2._alpha < 20) {
 _root.mc1._alpha -= 3;
}
in frame 2 dann:
PHP:
 prevFrame();
play;
 
Hoi,

also wenn du schon die MC-Kommunikation so verstanden hast, dann musst du doch im Prinzip nur noch eine if-Abfrage für MC2 stellen.
Und mit:
PHP:
onClipEvent(enterFrame) {
 if(this._alpha <= 20) {
  _parent.mc1._alpha -= 3;
 }
}
als Objektaktion auf MC2 sollte das doch relativ einfach klappen. :)
Ist zwar die Flash5-Syntax aber sollte imo ja auch noch gehen.

Geist,
jetzt 400 Postings alt :)

edit: Argh, wieder mal nur zweiter Sieger. *böse zu kuat schiel* ;)
 
Hi!
Vielen Dank; Eure Lösungen klappen 1a und führen auch zum gesuchten Ergebnis. Ich wollte halt die Objektsteuerung in MC2 so weiterführen, wie sie in MC1 aufgenommen wurde, das heisst zB (Code in Frame 1 von MC2):


PHP:
if (this._alpha<35) {
	_parent.MC1.onEnterFrame=function () {
		_parent.MC1._alpha-=3;
	}
}

und das klappt halt aus irgendeinem Grund wieder mal nicht.
Vorteil dieser Lösung: ich kann das onEnterFrame Event elegant mit
delete _root.MC2.onEnterFrame beenden. Im Gegensatz zu Flash 5 sind die Event-Handler nun von überall aus steuer- und erstellbar.


Grüsse und vielen Dank
Skyla
 
Zuletzt bearbeitet:
Ist das hier nicht logischer?
PHP:
if (this._alpha<35) {
    _parent.clip.onEnterFrame=function () {
        this._alpha-=3;
    }
}
 
Huuu! Neiiin, ist mir zu komplex! Nein im ernst; versteh Deine Message nicht; das ist ja mein code, der nicht funktioniert...
Kleiner Scherz ?!?
 
Naja, *fast* dein Code; ich dachte nur, dass es Quatsch ist, auf einen MC ein AS zu legen, welches diesen MC erneut per "_parent.mc" anspricht, statt ein "this" zu verwenden, verstehst du?

Aber wie kann das nicht funktionieren? :eek:

Wie geschrieben, ich hab eigentlich noch keine Ahnung, was die EventHandler in Flash MX betrifft, aber es erscheint mir durchaus logisch, was da steht.

Geist

P.S.: Was dein vB-Problem anbelangt ... versuch's mal hier ;)
 
Zuletzt bearbeitet:
Hey Geist tu den MX-Usern hier(und Dir selbst)einen Gefallen: Knack Dein Sparschwein, zieh los und hol Dir MX!!!!!

Zu meinem Problem: es klappt einfach nicht! Es macht mich wahnsinnig, weil ich weiss, dass es gehen muss. Götter helft!;((
 
MX ist schon lange hier, aber ich hab partout so gut wie null Bock, mich dem näher zu widmen. :(

Bin grad ziemlich faul, also wenn du die *.fla mal hier uppst, schau'ch's mir glatt mal nochmal näher an, aber basteln will ich grad nix eignes. :rolleyes:

Geist
 

Neue Beiträge

Zurück