Zurück   Flashforum > Flash > ActionScript > ActionScript 2

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 14-09-2009, 15:45   #1 (permalink)
Auch Flasher
 
Registriert seit: Aug 2001
Beiträge: 88
Question Variable in onEnterFrame nicht verfügbar

Hallo,

ich habe folgendes Problem:
ich erstelle in der onData Funktion von LoadVars mehrere Movieclips und weise diesen die Variable film_id zu:

PHP-Code:
for(c=0;c<_global.filmArray.length;c++) {
        
tmpString _global.filmArray[c].split("-");
        
createEmptyMovieClip('bild'+c+'container',c);
        
_root['bild'+c+'container'].loadMovie("../img/film_thumbs/"+tmpString[1]);
        
_root['bild'+c+'container'].film_id tmpString[0];
        
trace ('FILM ID : ' +_root['bild'+c+'container'].film_id);
        
_root['bild'+c+'container']._alpha 50;
        
_root['bild'+c+'container']._xscale 50;
        
_root['bild'+c+'container']._yscale 50;
        
_root['bild'+c+'container']._y=0;
        
_root['bild'+c+'container']._x=px;
        
px+=110;    
    } 
Dies funktioniert auch wie erwartet, trace gibt die korrekten Werte aus.
Nun möchte ich in der OnEnterFrame Funktion auf diese Variable wie folgt zugreifen:
PHP-Code:
onEnterFrame = function() {
var 
c2:Number 0
    do {
        
_root['bild'+c2+'container']._x-=speed;
        
_root['bild'+c2+'container'].onPress = function() {
            
trace (this.film_id);
        }
        
_root['bild'+c2+'container'].onRollOver = function() {
            
this._alpha 100;
        }
        
_root['bild'+c2+'container'].onRollOut = function() {
            
this._alpha 50;
        }
                ........................
                ................
                .......
        
c2++;
    } while (
c2 filmArray.length)


Was mache ich falsch, trace gibt immer "undefined" aus?

Viele Dank vorab
Viele Grüße
Rolf
ninja ist offline   Mit Zitat antworten
Alt 14-09-2009, 15:48   #2 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
Ich schätze mal, das wird beim laden des Contents überschrieben.
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"
RustyCake ist offline   Mit Zitat antworten
Alt 14-09-2009, 15:49   #3 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Instanzen der LoadVars-Klasse erzeugen asynchronen Code, d.h. ein Response steht erst nach einer beliebig langen Zeit über eine Callback-Funktion zur Verfügung. Wenn du jetzt schon vor dem Response versuchst auf Daten zuzugreifen, sind die natürlich nicht definiert. Starte den onEnterFrame-Event also erst aus der Callback-Funktion heraus, also bspw. aus einem LoadVars.onLoad.
  Mit Zitat antworten
Alt 14-09-2009, 16:04   #4 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
Glaube mir, die "ID = i" wird beim laden gelöscht
Lösung wäre einen Container im Container, die ganzen var's auf den äusseren zu tackern, und in den inneren laden.

[Edith]
Am besten Du probierst des mal aus.
PHP-Code:
//So gehts nicht//////////////////////////////////////////////////////////////////////////////////
this.createEmptyMovieClip("control",this.getNextHighestDepth());
this.createEmptyMovieClip("con",this.getNextHighestDepth());
this.con.loadMovie("clown.jpg");
this.con.1;
trace("this.con.i in Timeline = "+this.con.i);//this.con.i in Timeline = 1
this.control.onEnterFrame = function() {
    if (
_root.con._width>0) {
        
trace("_root.con.i in control_mc = "+_root.con.i);//_root.con.i in control_mc = undefined
        
delete this.onEnterFrame;
    }
};

btn.onPress = function() {
    
trace("_root.con.i in control_btn = "+_root.con.i);//_root.con.i in control_btn = undefined
};
//So gehts//////////////////////////////////////////////////////////////////////////////////////
this.createEmptyMovieClip("control",this.getNextHighestDepth());
this.createEmptyMovieClip("con",this.getNextHighestDepth());
this.con.createEmptyMovieClip("con_in_con",this.getNextHighestDepth());
this.con.con_in_con.loadMovie("clown.jpg");
this.con.1;
trace("this.con.i in Timeline = "+this.con.i);//this.con.i in Timeline = 1;
this.control.onEnterFrame = function() {
    if (
_root.con.con_in_con._width>0) {
        
trace("_root.con.i in control_mc = "+_root.con.i);//_root.con.i in control_mc = 1;
        
delete this.onEnterFrame;
    }
};

btn.onPress = function() {
    
trace("_root.con.i in control_btn = "+_root.con.i);//_root.con.i in control_btn = 1;
}; 
[/Edith]
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"

Geändert von RustyCake (14-09-2009 um 16:11 Uhr)
RustyCake ist offline   Mit Zitat antworten
Alt 15-09-2009, 08:22   #5 (permalink)
Auch Flasher
 
Registriert seit: Aug 2001
Beiträge: 88
Hallo Rusty,

Zitat:
Zitat von RustyCake Beitrag anzeigen
Lösung wäre einen Container im Container, die ganzen var's auf den äusseren zu tackern, und in den inneren laden.
ja, das war die Lösung.

Vielen Dank
Viele Grüße
Rolf
ninja ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
ononterframe, variable

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Variable nicht verfügbar? Chamyra ActionScript 2 2 15-12-2008 14:55
variable in forschleife verfügbar machen bloba ActionScript 2 7 14-03-2008 17:49
dynamisch erzeugte Variable in der Klasse verfügbar machen? Mr.Twister ActionScript 3 3 13-02-2008 09:35
Variable einladen und für jeden MC verfügbar machen...(egal welche Flash Version) cappex ActionScript 1 9 23-02-2006 15:58


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:43 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele