Szenen Übergreifende Variablen

green_phanta

Erfahrenes Mitglied
Hallo

Ich habe folgendes Problem.

In Szene 1 gibt es einen Button. Wenn man auf diesen drückt, kommt man zur Szene 2.
Kann man beim Druck auf diesen Button feststellen wo sich der MC "test_mc" gerade befindet ( ich meine jetzt in _y )? Das heißt genau die Position wo er gerade ist wenn man drückt, denn der MC bewegt sich die ganze Zeit.

Denn, ich will es schaffen das sich "test_mc" in Szene 2 auf der gleichen position befindet wie in Szene 1...
Versteht ihr?

Ich hätte mir vielleicht vorgestellt das man das mit Variablen lösen kann. Aber ist das möglich das Variablen in der nächsetn Szene auch noch gelten?

Vielen Dank
greets green
 
Hi,

generell:
Code:
meinButton.onRelease = function() {
    var cy = test_mc._y;
    gotoAndPlay("Szene 2", 1);
    this.onEnterFrame = function() {
        test_mc._y = cy;
        delete this.onEnterFrame;
    }
}
Die genaue Syntax und Adressierung hängt allerdings von Deinem Setup (Filmstruktur) ab.

Gruß
.
 
Mhhh

Also ich habe das mal probiert und es klappt auch in die nächste Szene usw... aber das was ich eigentlich haben wollte verstehen ich noch nicht wie es geht.

Im Anhang ist mein Beispiel. Es ist etwa genau so verschachtelt wie mein richtiges .fla.
Im Prinzip ist das die Lösung die ich gerne hätte, NUR das der mc in Szene 2 von DER Position wegslidet, wo er als letztes in Szene 1 war. Das heißt, das er bei Klick NICHT von der Mitte nach unten scrollt sondern halt einen schönen Übergang hat.

Vielleicht könnt ihr ja mal reinschauen.

Dankeschön

greets green
 

Anhänge

Zuletzt bearbeitet:
Hi,

Du kannst die onEnterFrame-Methode in diesem Fall nicht auf dem Objekt "button" ausführen, weil es sich um eine Schaltfläche und nicht um ein MovieClip-Symbol handelt.

Ich habe aber eben festgestellt, dass Du überhaupt keinen Frameaufruf warten musst; folgendes sollte genügen:
Code:
_root.verfolger.button.onRelease = function() {
    var cy = _root.verfolger._y;
    gotoAndPlay("Szene 2", 1);
    _root.verfolger._y = cy;
}

Gruß
.
 
hallo

Sry aber igendwas geht da nicht. Auch wenn ich in Szene 1 trace(cy) eingebe, dann kommt : "undefined". Warum Deswegen kann ich diese Variable nicht in Szene 2 verwenden... weil sie dort auch undefined is.

Ich weiß nicht warum das nicht geht, weil es schaut für mich sehr logisch aus, mhhhhh

thx
 
... weil "cy" eine lokale Variable der onRelease-Funktion Deines Buttons ist und ausserhalb daher nicht zur Verfügung steht.

Wenn Du die Variable auch in Szene 2 verwenden willst, musst Du sie ausserhalb der Funktion deklarieren.

Sry aber igendwas geht da nicht.
Und was genau nicht? Bei mir im Test bewegt sich das Objekt ohne Sprung.

Gruß
.
 
Kannst du mir vielleicht die Datei schicken weil ich kriegs beim besten Willen nicht hin?
Ich glaube ich habe nur einen kleinen Fehler... Aber ich finde ihn nicht^^.

Thx
 
Zurück