tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
1
ZUGRIFFE
467
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    helene1 helene1 ist offline Mitglied Silber
    Registriert seit
    Oct 2006
    Beiträge
    54
    Hallo,
    ich habe 3Buttons (home_btn, about_btn, ability_btn).
    Das ActionScript für jeden Button sieht so aus:
    PHP-Code:
    on (press)  {
        
    _root.cl0.removeMovieClip();
        
    _root.cl1.removeMovieClip();
        
    _root.cl2.removeMovieClip();
        
    _root.clip.removeMovieClip();
        
    _root.clip.removeMovieClip();
        
    this.removeMovieClip();
        
    this._parent.removeMovieClip();
                        
         
    _global.bildbez "ability";

    Die globale Variable "bildbez" wird je nachdem welcher Button gedrückt wurde anders belegt.


    Folgender Code der in einer eigenen Ebene liegt, die sich über den ganzen Film erstreckt, soll bei jeder ÄNDERUNG der Variable bildbez ausgeführt werden:
    PHP-Code:
    for (var i:Number 0i<3i++) {
        var 
    clip this.createEmptyMovieClip("cl"+ii);
        
    clip.loadMovie(bildbez+i+".jpg"i);
        
    clip._x 197+276*i;
        
    clip._y 118;
        
    clip._alpha 0;
        
    loadClip(clip);
    }

    function 
    loadClip(clip) {
        .....
    }

    function 
    fade() {
        .........
        };

    1.Wie kann ich diese Bedingung (führe diesen Code aus, jedesmal wenn sich die Variable bildbez ändert) formulieren?

    2.Zum 1CodeTeil: Das ist vermutlich doppeltgemoppelt gelöscht ODER?, Was muss ich schreiben um die erzeugten 3 Movieclips komplett zu löschen? Um danach wieder (unter den anderen Menüpunkten) mit der gleichen Fkt. NEUE erzeugen zu können?

    gruß
    helene
     

  2. #2
    Registriert seit
    Mar 2004
    Ort
    Basisrealität
    Beiträge
    12.118
    Blog-Einträge
    7
    Hi,

    1. alles, was nach
    Code :
    1
    
    this.removeMovieClip();
    kommt, wird nicht mehr ausgeführt, da Du damit den Clip entfernst, auf dem der Code notiert ist.

    Setze die removeMovieClip-Methode für den aktuellen Clip ans Ende des Codeblockes.

    2. Variablen lassen sich mit der "watch"-Methode überwachen. Für globale Variablen funktioniert das allerdings m.E. nicht.

    In Deinem Fall würde ich Dir empfehlen, einfach eine Funktion aufzurufen, die die Variable ändert und den Codeblock, der neu ausgeführt werden soll, in diese Funktion packen:
    Code actionscript:
    1
    2
    3
    4
    5
    6
    
    on (press)  {
        // hier Dein bisheriger Code
                        
        _root.changeBez("ability");
        this.removeMovieClip(); // diese Zeile erst am Ende!
    }

    Code actionscript:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    
    // auf der Hauptzeitleiste:
     
    function changeBez(str) {
        global.bildbez = str;
        for (var i:Number = 0; i<3; i++) {
            var clip = this.createEmptyMovieClip("cl"+i, i);
            clip.loadMovie(bildbez+i+".jpg", i);
            clip._x = 197+276*i;
            clip._y = 118;
            clip._alpha = 0;
            loadClip(clip);
        }
    }

    Gruß
    .
     

Ähnliche Themen

  1. Variable vom Root in einem Movieclip abfragen
    Von Mike_90 im Forum Flash Plattform
    Antworten: 5
    Letzter Beitrag: 12.03.10, 17:15
  2. Wie abfragen,ob die Zahl 26 in einer Variable vorkommt?
    Von nevixpain im Forum Delphi, Kylix, Pascal
    Antworten: 1
    Letzter Beitrag: 04.12.04, 11:38
  3. [MX] Deklarieren einer globalen Funktion
    Von rAvEnXXL im Forum Flash Plattform
    Antworten: 1
    Letzter Beitrag: 26.11.04, 17:51
  4. Antworten: 3
    Letzter Beitrag: 09.09.04, 23:21
  5. Antworten: 1
    Letzter Beitrag: 11.08.03, 21:47