In onEnterFrame eine Funktion aufrufen

Sooooo,

eingelagert tut mein onPress jetzt. Ich habe in der onPress Funktion eine Variable "imgname", die ich mir von oben aus der Bildabfrage hol, und dann weiterübergeben will. Und obwohl ich die Variable "imgname" mittlerweile als global gaaaaaanz oben in meiner Klasse setze, sagt er mir in meiner onPress sie wär "undefined"- das versteh ich nicht. Ich dachte global wär dazu da, die Variable überall nutzen zu können?

Gruß
 
Eigentlich schon...

... aber probier mal, die Variable einfach auf der Hauptzeitleiste zu definieren und dann mit _root. anzusprechen.

Gruß
.
 
Hey Jipieh,

dass ich da nicht selber drauf gekommen bin! Es tut endlich- hab ich bis eben gedacht. Allerdings nur solange ich das ganze mit einem Bild mache. Da ich aber das ganze für mehrere Bilder machen will, spuckt der mir nur noch undefined aus. :confused:


Gruß
 
Zuletzt bearbeitet:
Äh. Gehe ich recht in der Annahme, dass Du in diesem Fall auch mehrere Variablen (für jedes Bild) brauchst? Ist leider nicht so einfach, da durchzusteigen, wenn Du die Datei nicht posten kannst. Versuch doch mal, ein Array für die Bildnamen anzulegen.

Gruß
.
 
Ich lade die Bilder dynamisch aus verschiedenen XML Files. Eigentlich habe ich für alle die gleiche Variable benutzt.
Bisher ist es so, dass ich entweder die Bilder habe aber kein onPress oder ein onPress aber nicht alle Bilder und es wird auch nur immer ein Bild weitergegeben...

Ich weiss dass es doof ist dass ich die Datei nicht posten kann, aber was soll ich machen?!

Gruß
 
Hmm,

leider kann ich Dir in dem Fall aber nicht wirklich (bzw. nur durch Raten) weiterhelfen. Was ist das denn überhaupt für eine Variable und was steht da drin?

Prinzipiell kannst Du problemlos beliebig viele Bilder einladen und mit Handlern versorgen - vermutlich haben wir da aber unterschiedliche Ansätze, so dass Vorschläge meinerseits sich wohl schlecht in Dein Setup integrieren lassen.

Beispiel XML-Datei:
Code:
<img src="bild1.jpg" name="Bild 1" />
<img src="bild2.jpg" name="Bild 2" />
<img src="bild3.jpg" name="Bild 3" />

Laden in Flash:
Code:
var image = new Array();

myXML.onLoad = function() {
    for (var i=0; i<this.childNodes.length; i++) {
        image[i] = _root.createEmptyMovieClip("image" + i, i);
        image[i].src = this.childNodes[i].attributes.src;
        image[i].descr = this.childNodes[i].attributes.name;
        image[i]._visible = false;
        var ct = image[i].createEmpyMovieClip("ct", 1);
        ct.loadMovie(image[i].src);
        image[i].onEnterFrame = function() {
            if (this.ct.getBytesLoaded() > 10 && this.ct.getBytesLoaded() >= this.ct.getBytesTotal()) {
                this.onPress = function() {
                    trace("Bildname: " + this.descr);
                }
                this._visible = true;
                delete this.onEnterFrame;
            }
        }
    }
}

Gruß
.
 
Hallo,

letztendlich hat das ganze dann funktioniert, in dem ich in meine ausgelagerte Funktion mein "this- Objekt" mitübergeben habe und vor den Aufruf der Funktion gesetzt habe.

PHP:
function meineFunction(bla, foo, this){

 ...

 this.meineMethode(var1, var2);
}//end function
 

Neue Beiträge

Zurück