3 Textfelder
![]()
|
1 Einleitung
2 Grundlagen
3 Textfelder
Wie erstellt man ein Textfeld ?
Ja und weiter ?
Eigenschaften
Die Rolle der Zeitleiste
Textfelder können mehr...
Zusammenfassung
4
Standardbefehle
3 Textfelder
![]()
Was ist ein Textfeld ?
![]() Abb.1: Toolbar in Flash 4 |
|
Wie erzeugt man ein Textfeld
?
Ihnen dürfte sicher bekannt sein, wie man Text in einen Flash Film
schreibt. Dafür muß in der Toolbar das Buchstabensymbol angeklickt werden.
Unten, unter den Formatschaltflächen befindet sich jetzt ein weiterer kleiner
Button, auf dem die Buchstaben ab stehen. Dieser Button macht aus einer
Textanzeige ein Textfeld. Jetzt können Sie ein echtes, interaktives Textfeld
erzeugen.
Es sei an dieser Stelle noch darauf hingewiesen, dass die
Möglichkeiten der Textformatierung, also verschiedene Fonts oder Grössen wie
auch Absätze bei Veränderung der Variableninhalte nicht mehr verfügbar sind. Es
sollte also nur ein Font bzw. eine Farbe gewählt werden. Der Font kann zur
Laufzeit nicht geändert werden, allerding gibt es Möglichkeiten, auf die Farbe
Einfluss zu nehemen, allerdings bleibt das Textfeld immer nur einfarbig. ![]()
![]()
![]()
Ja und weiter ?
Wenn Sie
jetzt ein Rechteck im Arbeitsbereich aufziehen, so werden Sie feststellen, dass
im dadurch entstandenen Textfeld ein Cursor verfügbar ist, und das Textfeld
trotz fehlenden Inhalts nicht verschwindet. Weiter sehen Sie einen kleinen Mover
an der rechten unteren Ecke, während bei normaler Textanzeige dieser rechts oben
sitzt.
Dieses Textfeld ist nun editierbar, was bedeutet, dass ein Benutzer
hier Text eingeben kann. Der ausgewählte Font ist komplett in das SWF
eingebunden, was sofort zu einer Vergrösserung des Filmes führt. Wir werden noch
diskutieren, wie der Buchstabenumfang reduziert werden kann.
|
Abb.2: Textfeld in Flash 4 |
|
![]() Abb.3: Textfeldeigenschaften |
|
![]()
Die Rolle der Zeitleiste
Eine
Variable existiert vom Moment der Initialisierung an bis zur Zerstörung des
Symbols, in dem die Variable liegt. Allerdings bedeutet Moment der
Initialisierung nicht, dass die Variable automatisch mit der Erzeugung der
Symbolinstanz initialisiert wird. Der Zeitpunkt der Initialisierung hängt davon
ab, in welchem Bild der Zeitleiste die Variable erzeugt wird. Folgende
Start-Codesequenz führt aber dennoch nicht zu einem Fehler:
Set Variable "sinndeslebens" = a * bdie Variable sinndeslebens trägt als Inhalt den Wert 0, und man kann davon ausgehen, dass a und b ebenfalls als Variablen mit dem Inhalt "" initialisiert worden sind. Derartiges ist in anderen Programmiersprachen übrigens nicht möglich. Interessant ist nun die Frage, was passiert, wenn ein Textfeld mit einem Ausgabewert in Bild 1 eines Filmes liegt, und die Variable gleichen Namens in einer Codesequenz in Bild 2 mit anderem Inhalt initialisiert wird. Es ist offensichtlich, dass Bild 2 die Einstellungen von Bild 1 überschreibt. Was passiert, wenn beides in Bild 1 passiert? Auch dann wird das Textfeld vom Codewert überschrieben. Dabei spielt es keine Rolle, wie Code und Textfeld ebenenmässig verteilt sind. Das bedeutet also, dass innerhalb eines Bildes das Actionscript höherwertiger ist als die grafischen Komponenten. Dennoch gilt, dass Actionscriptcode in Reihenfolge der Ebenen innerhalb eines Bildes abgearbeitet wird. Beachten Sie folgendes Beispiel:
Comment: Code in Ebene 1 Set Variable "begruessung" = "Hallo Welt" Stop Comment: Code in Ebene 2 Set Variable "begruessung" = "Hello World"Obwohl hier eine Stop Anweisung in der zuerst abegearbeiteten Ebene liegt, wird die Ausführung des Stop bis ans Ende verschoben. Die Ausgabe wäre hier also "Hello World". Achten Sie deshalb darauf, Ihren Code immer in einem Bild zu ordnen, um den Überblick zu behalten. Wenn wir jetzt auch noch berücksichtigen, dass ein Symbol wieder einen eigenen Quellcode tragen kann, so erkennt man schnell, dass es wichtig ist, genau über die Rangfolge der Abarbeitung Bescheid zu wissen. Wir werden also den Stellenwert von Symbolen noch genauer analysieren müssen.
![]()
Textfelder können mehr...
Mir
Hilfe des Befehls Trace kann der Inhalt einer Variablen im Output überwacht
werden, wenn die Ausgabe auf den Ausdrucksmodus gestellt wird. Wie aber
überwacht man eine Variable, wenn der Shockwave Film auf Interaktion mit anderen
HTML Dokumenten geprüft werden soll? Es soll als Beispiel in einem Symbol
calculator, das im Hautpfilm liegt, eingabeunabhängig ein Ergebnis namens
value berechnet werden, das dann im Hauptfilm sichtbar sein soll (also
nicht im Symbol caculator). Hierfür muß ein Textfeld im Hauptfilm nur den
folgenden Namen tragen: calculator:value. Auf diese Weise kann also ein
Textfeld gemäss den Zugriffsregeln von Tell Target jede Variable an jedem
Ort anzeigen.![]()
![]()
![]()
![]()
Zusammenfassung
Was haben
wir also bis jetzt in Erfahrung gebracht?