+ Antworten
Ergebnis 1 bis 11 von 11

Thema: mit switch Funktion auf zurückgegeben Wert einer Funktion vergleichen - Error: 1180

  1. #1
    TP-Member Highhead ist auf einem guten Weg Avatar von Highhead
    Registriert seit
    Dec 2006
    Ort
    Weyarn
    Beiträge
    52

    mit switch Funktion auf zurückgegeben Wert einer Funktion vergleichen - Error: 1180

    Mal wieder etwas getan in Sachen Flash und "schon" wieder nen fehler eingeheimst.

    Das sollte passieren:
    Eine Navigation mit mehreren Buttons. Es gibts einen Hintergrund der herausgefahren wird beim Klicken auf einen Button. Ist er vollständig ausgefahren, dann lädt er den Text. Ist er bereits herausgehfahren lädt er den Text natürlich auch. (der Text ist die trace() im Moment).

    Das passiert:

    1180: Aufruf einer möglicherweise undefinierten Methode btn.

    PHP-Code:
    import flash.display.MovieClip;
    import flash.events.MouseEvent;
    import flash.utils.Timer;

    var 
    bgp_timer:Timer=new Timer(30);

    this.pyronav_mc.newsp_btn.addEventListener (MouseEvent.CLICK,textabfrage);

    //Abfrage auf den herausgefahren BG, wenn nicht, fährt er heraus und ladet dann den Text
    //Wenn er schon heraussen ist, lädt er den Text direkt

    function textabfrage (evt:MouseEvent) {
        function 
    btn (btn_str:String):String {
            var 
    btn_str:String evt.target.name;
            return 
    btn_str;
        }
        if (
    this.rechtsbg_mc.<= 150) {

            
    bgp_timer.addEventListener (TimerEvent.TIMER,rechtsin);
            
    bgp_timer.start ();


        } else if (
    this.rechtsbg_mc.>= 560) {
            
    textladen ();
        }

    }

    //Rechts BG reinfahren

    function rechtsin (evt:TimerEvent) {
        
    this.rechtsbg_mc.x+= 30;
        if (
    this.rechtsbg_mc.>= 560) {
            
    bgp_timer.stop ();
            
    textladen ();
        }
    }
    //Text laden
    function textladen () {
        switch (
    btn(null)) { //hier hängt er
            
    case "newsp_btn" :
                
    trace ("News Pyro");
                break;

        }

    Er hat hat Probleme von der switch auf den Wert der btn() zuzugreifen... Nur wie komm ich da anders hin? Solange die switch innerhalb der if - Fallunterscheidung ist gehts.
    Kann ich den Wert noch irgendwie anders vergleichen?

    Liebe Grüße und vielen Dank im Vorraus!
    Highhead
    Bayern, jawoi des samma mia!
    Bayern und des Bayrische Bier...
    Bayern und des Reinheitsgebot.
    Des is unser flüssiges Brot!
    Bayern, jawoi des samma mia! (Haindling)

  2. #2
    TP-Urgestein webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts Avatar von webcreate
    Registriert seit
    Nov 2003
    Ort
    NRW
    Beiträge
    11.660
    a) Wieso eine function in der function definieren? Stichwort Scope.
    b) Was soll der Switch? Eine function aufrufen, wo klar ist, dass deren return null bzw NaN ist?
    Gruß Mark

    webcreate IT SOLUTIONS
    www.webcreate-nrw.de

    Photoblog....|....flickr

  3. #3
    TP-Member Highhead ist auf einem guten Weg Avatar von Highhead
    Registriert seit
    Dec 2006
    Ort
    Weyarn
    Beiträge
    52
    Danke dir erstmal, dass du dir des angeschaut hast!

    a) Mit dem Scope hab ich immer wieder so meine Probleme...
    ich will ja den Namen des MC's auf den geklickt wurde speichern (Global) und dann mit der switch vergleichen. Das wollte ich mit dem return bewirken. Dass ich durch diese Verschachtelung nicht Global durchkomme ist mir inzwischen auch klar geworden. Wie kann ich den
    Namen des evt.target.name denn dann Global speichern, so dass ich dann egal wo ich bin draufzugreifen kann?
    Habs jetzt nochmal anders probiert indem ich die Variable über textabfrage(evt:MouseEvent, btn_str:String):String{} und dann direkt definiere und zurückgebe, komm aber auf keinen grünen Zweig, weil ihm der Parameter vom evt. fehlt.

    b) es kommt solange die switch innerhalb der Funktion textabfrage ist
    kein null, sondern der Name wie es sein soll. Wenn ich die Variable btn_str dann aber global gespeichert habe dann würde es ja eigentlich auch erspart bleiben die Funktion nochmal aufzurufen.

    Folglich ist mein Problem im Moment, dass ich ich die Variable btn_str gerne Global abfragbar hätte und krieg es aber nicht hin... Kannst du mir bitte bitte helfen?
    Bayern, jawoi des samma mia!
    Bayern und des Bayrische Bier...
    Bayern und des Reinheitsgebot.
    Des is unser flüssiges Brot!
    Bayern, jawoi des samma mia! (Haindling)

  4. #4
    TP-Urgestein webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts Avatar von webcreate
    Registriert seit
    Nov 2003
    Ort
    NRW
    Beiträge
    11.660
    Nun erahne ich was Du willst ... das switch (btn(null)) verwirrte mich ein wenig.
    Hast Du denn mal die FLA da, dann muss man das nicht alles nachbauen, um es mal zu testen.
    Gruß Mark

    webcreate IT SOLUTIONS
    www.webcreate-nrw.de

    Photoblog....|....flickr

  5. #5
    TP-Member Highhead ist auf einem guten Weg Avatar von Highhead
    Registriert seit
    Dec 2006
    Ort
    Weyarn
    Beiträge
    52
    ^^

    Kein Problem hier ist die fla, hab das AS eingebunden, weils für mich dann einfacher ist zu bearbeiten...

    das file dass den oberen Code enthält heißt pyronav.as

    DivShare File - Ifp.zip

    Passwort schick ich dir per pn
    Bayern, jawoi des samma mia!
    Bayern und des Bayrische Bier...
    Bayern und des Reinheitsgebot.
    Des is unser flüssiges Brot!
    Bayern, jawoi des samma mia! (Haindling)

  6. #6
    TP-Urgestein webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts Avatar von webcreate
    Registriert seit
    Nov 2003
    Ort
    NRW
    Beiträge
    11.660
    Dann halt so:

    PHP-Code:
    import flash.display.MovieClip;
    import flash.events.MouseEvent;
    import flash.utils.Timer;

    var 
    bgp_timer:Timer=new Timer(30);
    var 
    btn_str:String '';

    this.pyronav_mc.newsp_btn.addEventListener (MouseEvent.CLICK,textabfrage);
    this.pyronav_mc.conp_btn.addEventListener (MouseEvent.CLICK,textabfrage);

    //Abfrage auf den herausgefahren BG, wenn nicht, fährt er heraus und ladet dann den Text
    //Wenn er schon heraussen ist, lädt er den Text direkt


    function textabfrage (evt:MouseEvent) {
        
    btn_str evt.target.name;
        if (
    this.rechtsbg_mc.<= 150) {

            
    bgp_timer.addEventListener (TimerEvent.TIMER,rechtsin);
            
    bgp_timer.start ();


        } else if (
    this.rechtsbg_mc.>= 560) {
            
    textladen ();
        }

    }

    //Rechts BG reinfahren

    function rechtsin (evt:TimerEvent) {
        
    this.rechtsbg_mc.x+= 30;
        if (
    this.rechtsbg_mc.>= 560) {
            
    bgp_timer.stop ();
            
    textladen ();
        }
    }
    //Text laden
    function textladen () {
        switch (
    btn_str) {
            case 
    "newsp_btn" :
                
    trace ("News Pyro");
                break;
            case 
    "conp_btn":
                
    trace("Kontakt Pyro");
                break;

        }

    Gruß Mark

    webcreate IT SOLUTIONS
    www.webcreate-nrw.de

    Photoblog....|....flickr

  7. #7
    TP-Member Highhead ist auf einem guten Weg Avatar von Highhead
    Registriert seit
    Dec 2006
    Ort
    Weyarn
    Beiträge
    52
    Perfekt danke,
    heißt wenn ich eine Variable global definiere, kann ich trotz der lokalen zuweisung draufzugreifen.
    Komisch, dann hab ich die ganze Zeit des irgendwie falsch gemacht... auch mit anderen Sachen ;-)

    Vielen lieben Dank und ein schönes Weihnachten!!
    Bayern, jawoi des samma mia!
    Bayern und des Bayrische Bier...
    Bayern und des Reinheitsgebot.
    Des is unser flüssiges Brot!
    Bayern, jawoi des samma mia! (Haindling)

  8. #8
    TP-Urgestein webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts Avatar von webcreate
    Registriert seit
    Nov 2003
    Ort
    NRW
    Beiträge
    11.660
    Ich glaube Du hast das mit dem Scope noch nicht wirklich verinnerlicht. Warum sollte das nicht gehen?
    Es ist halt eine Interaktion von lokalen mit globalen Vars.
    Das einzige was Dir da Probleme bereiten kann, wenn Du Gültigkeitsbereiche einsetzt und damit den Zugang sperrst.

    Dir natürlich auch eine besinnliche Zeit ... das Geschenk hast Du ja nun.
    Gruß Mark

    webcreate IT SOLUTIONS
    www.webcreate-nrw.de

    Photoblog....|....flickr

  9. #9
    TP-Member Highhead ist auf einem guten Weg Avatar von Highhead
    Registriert seit
    Dec 2006
    Ort
    Weyarn
    Beiträge
    52
    Ich glaube Du hast das mit dem Scope noch nicht wirklich verinnerlicht
    Ja damit hab ich wirklich noch so meine Probleme.
    ich hatte davor ein ähnliches Problem, nur hat mir da die return Methode geholfen. Was hier sichtbar nicht geklappt hat xD

    das Geschenk hast Du ja nun.
    Ja das habe ich allerdings danke dir!
    Bayern, jawoi des samma mia!
    Bayern und des Bayrische Bier...
    Bayern und des Reinheitsgebot.
    Des is unser flüssiges Brot!
    Bayern, jawoi des samma mia! (Haindling)

  10. #10
    TP-Urgestein webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts Avatar von webcreate
    Registriert seit
    Nov 2003
    Ort
    NRW
    Beiträge
    11.660
    Um das Problem hier ggf mal zu beleuchten.
    Du kannst keine Var in der function nutzen, da die Var ja durch ein Event definiert wird.
    Nun kann man nicht einfach an einer anderen Stelle auf diese Var zugreifen, wenn diese rufende function gar kein Event auslöst.
    Daher schreibt man mit dem Event in eine globale Var und nutzt diese an anderer Stelle.
    Anders schaut es aus, wenn man nun eine "Hilfs-function" in einem Event verwendet, also das Event ein Parameter an eine function übergibt, diese anhand des Parameters etwas macht. Hier nutzt man dann ein return, um diese Veränderung wieder im Event zu verwenden.

    Anbei dann mal ein Test.

    Wenn man manuell als erstes klickt, bekommt man bei beiden keine richtige Ausgabe.
    Klickt man nun btn1 und dann btn2, geben beide durch das Event die richtige Ausgabe.
    Klickt man nun wieder manuell, dann sieht man, das die zweite Ausgabe richtig ist, dieses weil die globale Var verwendet wird. Diese Globale musste jedoch zuvor erst durch das Event von btn2 gefüllt werden. Die erste Ausgabe ist fehlerhaft, da hier die Definition der Var über das Event, welches ja nur der btn1 auslösen kann fehlt.

    Hoffe das veranschaulicht das ganze ein wenig.
    Angehängte Dateien
    Gruß Mark

    webcreate IT SOLUTIONS
    www.webcreate-nrw.de

    Photoblog....|....flickr

  11. #11
    TP-Member Highhead ist auf einem guten Weg Avatar von Highhead
    Registriert seit
    Dec 2006
    Ort
    Weyarn
    Beiträge
    52
    Danke dir, ich glaub jetzt hab ichs endlich/gültig kapiert
    Bayern, jawoi des samma mia!
    Bayern und des Bayrische Bier...
    Bayern und des Reinheitsgebot.
    Des is unser flüssiges Brot!
    Bayern, jawoi des samma mia! (Haindling)

+ Antworten

Ähnliche Themen

  1. on release funktion in eine MC funktion umwandeln
    Von realpio im Forum Flash & Multimedia
    Antworten: 2
    Letzter Beitrag: 28.04.2008, 17:34
  2. Parameterübergabe einer Funktion
    Von KriX im Forum Javascript & Ajax
    Antworten: 7
    Letzter Beitrag: 24.08.2006, 09:24
  3. rekursive funktion und return-wert
    Von alexf812 im Forum Traum-Dynamik
    Antworten: 2
    Letzter Beitrag: 27.08.2005, 15:36
  4. Postgres Error-Funktion
    Von Flow09 im Forum Traum-Dynamik
    Antworten: 2
    Letzter Beitrag: 05.02.2004, 10:53
  5. 2 returns aus einer funktion?
    Von rev999 im Forum Traum-Dynamik
    Antworten: 5
    Letzter Beitrag: 02.04.2003, 20:43

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51