Texteffekt mehrfach anwenden

soa

Erfahrenes Mitglied
Hallo zusammen,

habe mir aus einem Tutorial einen Texteffekt geholt:

PHP:
this.onLoad=function(){ 
mein_text="ItrytogoonlikeIneverknewyou"; 
bremse=4; 
zähler=1; 
count=0; 
} 

this.onEnterFrame=function(){ 
if(zähler<mein_text.length){ 
if(count<1){ 
textfeld.text+=mein_text.charAt(zähler); 
zähler++; 
} 
count++; 
if(count>bremse)count=0; 
} 
}

Funktioniert soweit ganz gut. Nun habe ich allerdings mehrere Zeilen und ich frage mich wie ich einen Zeilenumbruch erstellen kann ?

Habe versucht, den Code in einer neuen Ebene mit anderen Variablen und Textfeldbezeichnung auszuführen. Das hat leider nicht geklappt .

Wie kann ich den Effekt mehrfach in einer .fla verwenden ?


Vielen Dank im voraus
SOA
 
Hallo,

dort, wo du Zeilenumbrüche im Text haben möchtest, fügst du ein "\n" ein, also etwa so:

Code:
mein_text="I\ntry\nto\ngoon\nlike\nI\nnever\nknew\nyou";

Dafür muss dein Textfeld natürlich auch mehrzeiligen Text unterstützen und entsprechend gross ein.
Alternativ dazu könntest du auch mit HTML-Text arbeiten, dafür müsstest du aber die Animationsgeschwindigkeit drastisch erhöhen, damit der Betrachter die unvollständigen Tags nicht sieht.

Zu deiner zweiten Frage:
Da das Skript onEnterFrame ausgeführt wird, benötigt jede "Instanz" dieser Animation eine eigene Zeitleiste. Pack also den Code inkl. Textfeld in einen separaten MovieClip, den du nun beliebig duplizieren und auf die Bühne setzen kannst.

gruss
 
Entschuldigung, we ich hier noch einmal nachhaken muss.

Ich habe also einen Movieclip mit dem Instanznamen textfeld2, gehe auf den Clip und schreibe den Code rein.

Nun kommt folgende Fehlermeldung:

*Fehler** Szene=Szene 1, Ebene=bite, Bild=1:Zeile 1: Anweisung muss innerhalb einer on/onClipEvent-Prozedur vorliegen
this.onLoad = function() {

**Fehler** Szene=Szene 1, Ebene=bite, Bild=1:Zeile 8: Anweisung muss innerhalb einer on/onClipEvent-Prozedur vorliegen
this.onEnterFrame = function() {

Anzahl der ActionScript-Fehler: 2 Gemeldete Fehler: 2


Arbeite hier mit Flash8. Anscheinend muss der Code mit onClipEvent angewendet werden.
Aber wie
 
Hallo,

wenn du Code auf eine Instanz setzt (d.h. MovieClip/Button auf der Bühne auswählen, Code in Aktionen-Panel setzen), benötigt folgende Syntax:

Code:
onClipEvent (load) {
   mein_text="ItrytogoonlikeIneverknewyou"; 
   bremse=4; 
   zähler=1; 
   count=0;  
}
onClipEvent (enterFrame) {
   if(zähler<mein_text.length){ 
      if(count<1){ 
         textfeld.text+=mein_text.charAt(zähler); 
         zähler++; 
      } 
      count++; 
      if(count>bremse)count=0; 
   }
}

Code, so wie du ihn geschrieben hast und er oben steht, müsstest du auf das erste Keyframe der Zeitleiste setzen, auf der sich dein Textfeld befindet.

gruss
 
Zurück