[ascoders] AW: [ascoders]schwierigkeiten mit setInterval

  • From: "Home" <nc-gellerpe@xxxxxxxxxxxxx>
  • To: <ascoders@xxxxxxxxxxxxx>
  • Date: Sun, 13 Oct 2002 19:03:59 +0200

Hi,
vielleicht kann mir jemand sagen wo das Problem liegt!
Ich habe einen Texteffect von mir (damals Flash4) so umgeschrieben( hier
simpler Schreibmaschineneffekt),
das dieser den gesamten Code jetzt nur noch auf dem ersten Keyframe hat
und mit dem Intervalaufruf die Geschwindigkeit der Buchstabenduplizierung
gesteuert werden kann!
Klappt auch alles ganz wunderbar, bis auf den Aufruf der duplicateLetter
Funktion.
Rufe ich nämlich die Funktion nicht direkt über interval auf sondern über
eine zweite Funktion
funktioniert alles so wie ich es haben möchte, schreibe ich es so wie unten
wird zwar die Funktion aufgerufen,
aber die Mcs nicht dupliziert und ich seh nix!

Vielleicht kann mir ja einer sagen was ich falsch mache :-(
Vielleicht habe ich auch den Sinn von setIntervall noch nicht richtig
verstanden?

Danke Peter

Ps: Ursprungsmc auf der Bühne ist übrigens abc0,
        von diesem werden die Duplikate erstellt!
___________________________________________________________
startXpos = 100;
startYpos = 100;
ebene = 100; // Level der Buchstabenduplikate
punktgroesse = 5; // Pixelgröße der Buchstaben
x = 0 + startXpos; // xpos
y = 0; // ypos
i = 0; // Momentaner Buchstabe des Strings
speed = 100; // Intervalgeschwindigkeit in Millisekunden
textstring =
"ABCDEFGHIJKLMNOPQRSTUVWXYZ~ABCDEFGHIJKLMNOPQRSTUVWXYZ~ABCDEFGHIJKLMNOPQRSTU
VWXYZ"
AbcAnzahl = textstring.length;
//----------------------------------

function duplicateLetter(){
                AbcAktuell = "abc" add i
                AbcNeu = "abc" add (i+1);
                preletter = textstring.charAt(i-1);
// Kerning der Buchstaben (bei der Schrift Kroeger eh nur Grossbuchstaben)
                switch(preletter){
                        case "I": steps = 2; break;
                        case "J": steps = 4; break;
                        case "L": steps = 4; break;
                        case "T": steps = 4; break;
                        case "W": steps = 8; break;
                        case "M": steps = 8; break;
                        case "~": x = startXpos; startYpos += 7; break;
                        default: steps = punktgroesse;
                }
                this[AbcAktuell].duplicateMovieClip(AbcNeu,ebene+i);
                x += steps;
                this[AbcNeu]._x = x
                this[AbcNeu]._y = startYpos;
                if (textstring.charAt(i) == "~"){
                        this[AbcNeu].feld.buchstabe = "";
                }else{
                        this[AbcNeu].feld.buchstabe = textstring.charAt(i);
                }
                i++;
                // Bei erreichen des letzten Buchstabens, Intervalaufruf aus!
                if ( i == AbcAnzahl){
                        clearInterval(interval);
                }
                trace(AbcAnzahl);

}

interval = setInterval(duplicateLetter,speed);

------------------------------------------------------
Archiv   : //www.freelists.org/archives/ascoders/
Optionen : //www.freelists.org/list/ascoders
------------------------------------------------------

Other related posts: