Immer diese Variablen

harrry

Erfahrenes Mitglied
Hallo,

ich habe es mir so unendlich kompliziert gemacht (jedenfalls scheint es mir so), daß ich ohne tutorials.de ebensogut gleich auf Maurergeselle umsatteln kann.

Hier ist das Problem:

In meinem MC "choices" werden Thumbnails erzeugt, und mit der Funktion
PHP:
this.onRelease = function() {
                _root.subgallery.nummer = i;
                _root.subgallery.numero.text = i;
                _root.gotoAndPlay("subgallery");
};
möchte ich die Variable "i" - also die Nummer der anzuzeigenden Galerie - an meinen MC "subgallery" übergeben. Dort, in der "subgallery" liegt folgendes:
PHP:
welcheGal = nummer;
slides_xml = new XML();
slides_xml.onLoad = loadSlideShow;
slides_xml.load("bilder"+welcheGal+".xml");
slides_xml.ignoreWhite = true;
und so weiter. Im oberen Skript hab ich diese "numero.text"-Sache eingefügt, um zu kontrollieren, ob der Wert denn auch übergeben wird - und ja, im Textfeld wird die dem Thumbnail entsprechende Nummer angezeigt - nicht aber die Slideshow, die ja auch diese Nummer hat.

Nach Durchstöbern des Forums und Rumprobieren mit "LoadVars" und "_global" usw. schwirrt mir der Kopf und ich bitte um Hilfe!
 
Hi,

Kombinier niemals - ich wiederhole: niemals - Funktionsaufrufe und goto-Krams auf der Hauptzeitleiste! Statt auf _root ein Schlüsselbild anzulegen, in dem sich ein MC befindet, der irgendwelchen Code ausführen soll, belasse es bei einem Frame auf der Hauptzeitleiste und rufe einfach direkt eine Funktion in dem Ziel-MC auf:
Code:
this.onRelease = function() {
    _root.subgallery.ladeIrgendwas(i);
}
Und dort:
Code:
var slides_xml = new XML();
slides_xml.onLoad = loadSlideShow;
slides_xml.ignoreWhite = true

function ladeIrgendwas(nummer) {
    slides_xml.load("bilder" + nummer + ".xml");
}

Der wahrscheinlich Grund für Dein Problem liegt darin, dass Du Dich bei Deinem Mausereignis anscheinend nicht in einem Hauptzeitleisten-Frame befindets, in dem der MC "subgallery" definiert ist - es bringt also nichts, diesem eine Variable "nummer" zuzuweisen. Andernfalls: Ist der MC aktuell schon definiert, kannst Du ihm zwar eine Variable zuweisen, aber nicht davon ausgehen, dass er Code auf seiner Zeitleiste einfach so aufführt, nur weil Du auf _root ein anderes Schlüsselbild aufgerufen hast (dass Textfeldvariablen manchmal einer anderen Logik folgen, lasse ich hier mal beiseite).

Gruß
.
 
Also ich muss schon sagen, Flash bietet jede Menge Rätsel für mathematische Under-Achiever wie mich... herzlichen Dank für Deine Lösung, sie funktioniert trotz Zeitleisten-Kuddelmuddel. Aber die Sorge nagt an mir: kann es sein, dass das Ding jetzt bei mir spielt und auf anderen Rechnern vielleicht nicht? Wegen anderer Prozessorleistung, schlechtem Wetter o. ä? Bitte sag einfach nein..
 
Nein. ;-)

Wenn es Probleme gibt, dann aufgrund von selbstverschuldeten Fehlern, z.B. weil keine Kompatiblität zu früheren Playerversionen eingehalten wurde ...
.
 
Zurück