Button wieder aktivieren

Hallo zusammen!

Ich habe ein kleines Problem was das wieder aktivieren eines Buttons betrifft (die Lösungen hier im Forum funktionieren bei mir nicht).... vielleicht mach ich auch was falsch... ist wahrscheinlicher :-)

Die Situation: Ich habe EINEN Button ("news_btn"), der per Release in den nächsten Frame springt, in dem ein Movieclip ("news") aufpoppt. Mit der gleichen Releasefunktion habe ich den Button deaktiviert, damit man den News-Movieclip nicht immer wieder aufrufen kann (per 'this._visible = false') - bis dahin funktioniert alles wunderbar.

In meinem MC "news" habe ich einen weiteren Button (x_btn), der diesen MC wieder schließt indem er in den Frame zuvor springt und gleichzeitig den news_btn wieder auf visible = true setzen soll. Das funktioniert nicht mehr.
Ist bestimmt nur ein Pfadproblem...

Hier die Pfade von der Hauptzeitleiste aus gesehen:

für den news_btn: Szene1 / fremder MC / news_btn
für den x_btn: Szene1 / fremder MC / Gruppe / x_btn

Kann mir da jemand helfen? Ich benutze Flash 8.

mfg Simon Slaughter
 
Ist bestimmt nur ein Pfadproblem...
Sehe ich auch als recht wahrscheinlich an. Evtl. aber auch eines des Timings, der Reihenfolge oder der Verfügbarkeit von Elementen zum Befehlszeitpunkt, wer weiß.
Kann mir da jemand helfen?
Vermutlich, aber eine Demo-Fla wäre hilfreich. Wäre sonst sehr vage und testen kann man es ja auch nicht vor einer Antwort, ohne sich selbst aufgrund der Angaben was zusammenzubasteln inkl. möglicher Interpretationsfehler.
Also poste mal eine Demodatei (alles nicht das Problem betreffende rausnehmen) mit dem Aufbau.

Gruß
Rena
 
Hallo! - hier kommt die demo.fla

Wie gesagt, den news_btn deaktivieren funktioniert schon.
(Ich hab alle speicherfressenden Hintergründe durch blaue Balken ersetzt.)

Danke für die Hilfe!

mfg. Simon Slaughter
 

Anhänge

Hi,

Du versuchst den Button so zu "aktivieren":
Code:
_parent.news_btn._visible = true;
Er liegt aber nicht an diesem Pfad, da a) der grüne Schließen-Button tiefer verschachtelt ist, und b) sich auch der "news_btn" noch innerhalb eines weiteren MC (Hintergrund) befindet. Der richtige Pfad sähe also so aus:
Code:
_parent._parent.hintergrund.news_btn._visible = true;
, wobei "hintergrund" der Instanzname des MC "hintergrund" ist (Du musst diesen Instanznamen in jedem Frame vergeben).

Gruß
.
 
Hallo, Tobias!

Ich habe den Code jetzt geändert und den Instanznamen Hintergrund in allen (2) Frames vergeben.
(übrigens Danke für die Erklärung, jetzt weiß ich endlich genau wie das Erreichen tieferer MC's möglich ist.)

ABER: Der Button bleibt immer noch inaktiv... hat es bei dir funktioniert?

Ich hab die Datei noch einmal mit meinen Änderungen angefügt.
 

Anhänge

Hi,

Du musst die Aktivierung vor die gotoAndPlay-Aktion setzen:
Code:
this.onRelease = function() {
	gotoAndStop(2);
	_parent._parent.hintergrund.news_btn._visible = true;
	_parent._parent.gotoAndPlay("anfang");

}
Grund: wenn Du zum Bild "anfang" springst, existiert dort der MC "news" noch garnicht, also wird der Code nach der Aktion auch nicht mehr ausgeführt. ;)

Wenn ich Dir einen generellen Tipp geben darf: Gewöhn Dir möglichst gar nicht erst an, Navigation etc. durch Hin und Herspringen auf irgendwelchen Zeitleisten zu realisieren; wie Du am vorliegenden Problem sehen kannst, bekommst Du dadurch in der Regel viele Probleme mit Objektgültigkeiten oder unerwünschten Initialisierungen:
Rena hat gesagt.:
Evtl. aber auch eines des Timings, der Reihenfolge oder der Verfügbarkeit von Elementen zum Befehlszeitpunkt, wer weiß.
Wenn es unbedingt Zeitleistenanimationen sein müssen, packe diese in eigene MovieClips, die Du von aussen (auf _root hat man am besten nur ein Schlüsselbild) ansteuerst.

Gruß
.

Gruß
.
 
Zurück