Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 02-05-2007, 10:43   #1 (permalink)
Neuer User
 
Registriert seit: Feb 2005
Beiträge: 642
Variable verliert ihren Wert...

Hallo!

Ich übergebe einer Funktion eine swf Datei, die geladen werden soll... Wenn ich gleich am Anfang der Funktion die swf tracen lasse, dann kommt der richtige Wert zum Vorschein, am ende der Funktion ist es undefined...

Hier mal mein Code:
PHP-Code:
//Funktion nach Klick, die Striche sollen wieder in der Mitte zusammenfahren, auf 1px schrumpfen und dann den
// externen Movie preloaden
function navigate(swf){
    if(
swf!=active_swf){
        
trace(swf);
        
inhalt_mc.unloadMovie(active_swf);
    };
    
//Balken in der Mitte zusammenfahren
        
var balken_reverse_tween:Object = new Tween balken_oben_mc"_y"Strong.easeOut, -178, -11true );
                                  new 
Tween balken_unten_mc"_y"Strong.easeOut17811true );
                                
    
//Danach auf 1px schrumpfen
        
balken_reverse_tween.onMotionFinished = function(){
            var 
balken_shrink_tween:Object = new Tween balken_oben_mc"_width"Strong.easeOut80511true );
                                             new 
Tween balken_unten_mc"_width"Strong.easeOut80511true );
    
//Danach den übergebenen Film vorladen
            
balken_shrink_tween.onMotionFinished = function() {
            
inhalt_mc.loadMovie(swf);
            
_root.onEnterFrame = function() {
            
inhalt_mc._visible false;
            
loaded int(inhalt_mc.getBytesLoaded()*100/inhalt_mc.getBytesTotal());
    
//Wenn fertig geladen, sollen als erstes die Balken wieder auseinanderfahren...
        
if (loaded >= 99){
            var 
balken_width:Object = new Tween balken_oben_mc"_width"Strong.easeOut18051true );
            new 
Tween balken_unten_mc"_width"Strong.easeOut18051true );
            
delete _root.onEnterFrame 
            balken_width
.onMotionFinished = function(){        
    
//Dann kommen die Striche wieder nach oben
            
var balken_oben_tween:Object = new Tween balken_oben_mc"_y"Regular.easeOut, -1, -1781true );
                                           new 
Tween balken_unten_mc"_y"Regular.easeOut11781true );
    
//Der geladene Movie wird angezeigt
    
balken_oben_tween.onMotionFinished = function(){
            
inhalt_mc._visible true;
            
swf._visible true;
            
inhalt_mc.loadMovie(swf);
            
swf.gotoAndPlay(2);
            
swf active.swf;
            
trace(swf);
                        }
                    }
                };
            };
        }
    }

Es geht darum, dass die geladene swf erst wenn die Balken wieder oben sind auf das zweite Bild springen soll (wo die animation startet...

Warum bitte ist das undefined und wie bekomme ich den wert da wieder rein?

Vielen dank für eure Hilfe!

Geändert von gmadesign (02-05-2007 um 10:52 Uhr)
gmadesign ist offline   Mit Zitat antworten
Alt 02-05-2007, 10:46   #2 (permalink)
Trennschleifer
 
Benutzerbild von bobo_k1
 
Registriert seit: Apr 2004
Ort: Hamburg
Beiträge: 1.282
variable ausserhalb der Funktion definieren
__________________
Es gibt nur zwei Arten von Menschen die Hawaiihemden tragen: Schwuchteln und dicke fette Partylöwen. Und du siehst nicht aus wie ein dicker fetter Partylöwe!" - Homer J. Simpson
bobo_k1 ist offline   Mit Zitat antworten
Alt 02-05-2007, 10:54   #3 (permalink)
Neuer User
 
Registriert seit: Feb 2005
Beiträge: 642
ja kann ich sie denn außerhalb definieren und dann übergeben, als String?

Mein Aufruf lautet wie folgt:

PHP-Code:
this.ueber_uns_mc.onRelease=function(){
    
navigate("ueber_uns.swf");

thx!
gmadesign ist offline   Mit Zitat antworten
Alt 02-05-2007, 11:14   #4 (permalink)
Neuer User
 
Registriert seit: Feb 2005
Beiträge: 642
hab jetzt mal davor noch

PHP-Code:
var swf:String
eingefügt, hat aber nichts genützt...

lg
gmadesign ist offline   Mit Zitat antworten
Alt 02-05-2007, 11:24   #5 (permalink)
.
 
Registriert seit: May 2003
Ort: bayern
Beiträge: 1.117
wo kommen denn die begriff "active_swf" bzw. "active.swf" her?

vor dem zweiten trace(swf) schreibst du
PHP-Code:
swf active.swf
gibt es das?
__________________
[mooseMash]
mooseMash ist offline   Mit Zitat antworten
Alt 02-05-2007, 11:25   #6 (permalink)
Trennschleifer
 
Benutzerbild von bobo_k1
 
Registriert seit: Apr 2004
Ort: Hamburg
Beiträge: 1.282
function navigate(swf){
var swf:String = swf
}
__________________
Es gibt nur zwei Arten von Menschen die Hawaiihemden tragen: Schwuchteln und dicke fette Partylöwen. Und du siehst nicht aus wie ein dicker fetter Partylöwe!" - Homer J. Simpson
bobo_k1 ist offline   Mit Zitat antworten
Alt 02-05-2007, 11:28   #7 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Das ist ja auch Blödsinn: swf = active.swf; (wieso Punkt?)

Das auch: inhalt_mc.unloadMovie(active_swf); (was soll das?)

Das erst recht: swf._visible und swf.gotoAndPlay(2) (hier nimmste den MC in den geladen wurde)


Hatte ich dir übrigens schon einmal gesagt.
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 02-05-2007, 11:37   #8 (permalink)
Neuer User
 
Registriert seit: Feb 2005
Beiträge: 642
Danke mal, euch beiden....

Naja, ich dachte mit inhalt_mc.unloadMovie(active_swf) schmeiße ich den aktiven Film raus, bevor der neue reingeladen wird... Ist das nicht nötig, oder funktioniert das nur anders?

danke
gmadesign ist offline   Mit Zitat antworten
Alt 02-05-2007, 11:40   #9 (permalink)
Neuer User
 
Registriert seit: Feb 2005
Beiträge: 642
Und wie komm ich dann ins zweite bild des geladenen films, wenn die balken mal oben sind? Kann ich swf denn nicht so ansprechen?
gmadesign ist offline   Mit Zitat antworten
Alt 02-05-2007, 11:56   #10 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Zitat:
Zitat von Der Frager Beitrag anzeigen
Das erst recht: swf._visible und swf.gotoAndPlay(2) (hier nimmste den MC in den geladen wurde)
Wieso muss man dir eigentlich alles doppelt und dreifach sagen?
Und wieso lädst du dein swf nach dem balken_oben_tween noch einmal?
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 02-05-2007, 12:19   #11 (permalink)
Neuer User
 
Registriert seit: Feb 2005
Beiträge: 642
wieso lade ich es nochmal? Ich lade es, habe das skript jetzt aber so umgebaut, dass der Balken nicht mehr als Preloader dient, sondern im Hintergrund vorgeladen wird, dann fahren die Striche auseinander (sieht optisch besser aus), dann sollen die striche nach oben und der geladene swf auf bild 2 springen, dort wo die animation der geladenen swfs beginnt.

Mache ich das nicht mit Bild 2, so fängt die animation bereits an, während die striche noch vergrößert werden bzw. nach oben fahren... dann fehlt der anfang. Deshalb will ich einfach per ???.gotoAndPlay(2) auf bild 2 des eben geladenen films hüpfen, aber eben erst, wenn die balken animation fertig ist.

Hoffe, ich hab mich halbwegs verständlich ausgedrückt...

Danke für die Geduld.
gmadesign ist offline   Mit Zitat antworten
Alt 02-05-2007, 12:26   #12 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Ich habe das schon kapiert, nur irgendwie das Gefühl, du liest gar nicht, was man dir schreibt.
PHP-Code:
 balken_oben_tween.onMotionFinished = function(){
            
inhalt_mc._visible true;
            
//swf._visible = true; <- Absolut überflüssig
            //inhalt_mc.loadMovie(swf); <- Hier lädst du doppelt
            //swf.gotoAndPlay(2); <- Nicht swf sondern inhalt_mc
inhalt_mc.gotoAndPlay(2);
            
//swf = active.swf; <- braucht kein Mensch
            //trace(swf);

__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 02-05-2007, 13:05   #13 (permalink)
Neuer User
 
Registriert seit: Feb 2005
Beiträge: 642
ja, aber ich will doch in der geladenen swf auf bild 2 springen. Hab das jetzt versucht mit einer swf, bei der ich den inhalt in bild 2 gepackt habe und im ersten bild ein stop(); eingefügt habe... da tut sich jetzt gar nichts, wenn ich draufklicke...

Ich meine ich vertraue dir, du weißt sicher tausend mal besser wie das funkt, als o kann sonst irgendetwas falsch sein? Zu meinem Verständnis, nimmt der inhalt_mc den geladenen swf auf und betrachtet ihn als sein kind, und deshalb kann man direkt im inhalt_mc auf 2 springen?

Ich lese sehr wohl immer alles, habe nur öfters verständnisprobleme...

Danke!!!
gmadesign ist offline   Mit Zitat antworten
Alt 02-05-2007, 17:12   #14 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Wenn im ersten Bild ein stop() steht, im zweiten dein Content liegt und du gotoAndPlay(2) benutzt, dann landest du ja auch wieder in Bild 1.
Also nimm mal gotoAndStop(2).
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Antwort

Lesezeichen

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



Alle Zeitangaben in WEZ +1. Es ist jetzt 09:25 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele