15.10.2012 Views

Actionscript 3 Entwicklerhandbuch

Actionscript 3 Entwicklerhandbuch

Actionscript 3 Entwicklerhandbuch

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

ACTIONSCRIPT 3.0 ENTWICKLERHANDBUCH<br />

Verwenden der Flash Text Engine<br />

Sperren und Klonen des ElementFormat-Objekts<br />

Flash Player 10 und höher, Adobe AIR 1.5 und höher<br />

Wenn ein ElementFormat-Objekt einem beliebigen ContentElement-Typ zugewiesen ist, wird die Eigenschaft<br />

locked des Objekts automatisch auf true festgelegt. Wenn Sie versuchen, ein gesperrtes ElementFormat-Objekt zu<br />

bearbeiten, wird eine IllegalOperationError-Ausnahme ausgelöst. Die beste Vorgehensweise ist, ein solches<br />

Objekt vollständig zu definieren, bevor Sie es einer TextElement-Instanz zuweisen.<br />

Wenn Sie eine vorhandene ElementFormat-Instanz ändern möchten, müssen Sie zunächst deren locked-Eigenschaft<br />

überprüfen. Wenn der Wert true lautet, können Sie mit der clone()-Methode eine ungesperrte Kopie des Objekts<br />

erstellen. Die Eigenschaften dieses ungesperrten Objekts können geändert werden, und anschließend kann des Objekt<br />

mit der TextElement-Instanz verknüpft werden. Alle aus dem Objekt neu erstellten Zeilen weisen die neue<br />

Formatierung auf. Zuvor von diesem Objekt erstellte Zeilen, die das alte Format verwenden, bleiben unverändert.<br />

package<br />

{<br />

import flash.display.Sprite;<br />

import flash.text.*;<br />

}<br />

public class ElementFormatCloneExample extends Sprite<br />

{<br />

private var tb:TextBlock = new TextBlock();<br />

private var te:TextElement;<br />

private var ef1:ElementFormat;<br />

private var ef2:ElementFormat;<br />

private var fd:FontDescription = new FontDescription();<br />

}<br />

public function ElementFormatCloneExample()<br />

{<br />

fd.fontName = "Garamond";<br />

ef1 = new ElementFormat(fd);<br />

ef1.fontSize = 24;<br />

var str:String = "This is flash text";<br />

te = new TextElement(str, ef);<br />

tb.content = te;<br />

var tx1:TextLine = tb.createTextLine(null,600);<br />

addChild(tx1);<br />

}<br />

ef2 = (ef1.locked) ? ef1.clone() : ef1;<br />

ef2.fontSize = 32;<br />

tb.content.elementFormat = ef2;<br />

var tx2:TextLine = tb.createTextLine(null,600);<br />

addChild(tx2);<br />

Letzte Aktualisierung 27.6.2012<br />

434

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!