13.08.2012 Views

ACTIONSCRIPT 3 Developer’s Guide en

ACTIONSCRIPT 3 Developer’s Guide en

ACTIONSCRIPT 3 Developer’s Guide en

SHOW MORE
SHOW LESS

Create successful ePaper yourself

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

<strong>ACTIONSCRIPT</strong> 3.0 DEVELOPER’S GUIDE<br />

Using the Flash Text Engine<br />

Locking and cloning FontDescription<br />

Flash Player 10 and later, Adobe AIR 1.5 and later<br />

Wh<strong>en</strong> a FontDescription object is assigned to an Elem<strong>en</strong>tFormat, its locked property is automatically set to true.<br />

Attempting to modify a locked FontDescription object throws an IllegalOperationError. The best practice is to<br />

fully define such an object before assigning it to a Elem<strong>en</strong>tFormat.<br />

If you want to modify an existing FontDescription, first check its locked property. If it’s true, use the<br />

clone()method to create an unlocked copy of the object. The properties of this unlocked object can be changed, and<br />

it can th<strong>en</strong> be assigned to the Elem<strong>en</strong>tFormat. Any new lines created from this TextElem<strong>en</strong>t have the new formatting.<br />

Previous lines created from this same object are unchanged.<br />

package<br />

{<br />

import flash.display.Sprite;<br />

import flash.text.*;<br />

}<br />

public class FontDescriptionCloneExample ext<strong>en</strong>ds Sprite<br />

{<br />

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

private var te:TextElem<strong>en</strong>t;<br />

private var ef1:Elem<strong>en</strong>tFormat;<br />

private var ef2:Elem<strong>en</strong>tFormat;<br />

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

private var fd2:FontDescription;<br />

}<br />

public function FontDescriptionCloneExample()<br />

{<br />

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

ef1 = new Elem<strong>en</strong>tFormat(fd);<br />

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

te = new TextElem<strong>en</strong>t(str, ef);<br />

tb.cont<strong>en</strong>t = te;<br />

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

addChild(tx1);<br />

}<br />

fd2 = (fd1.locked) ? fd1.clone() : fd1;<br />

fd2.fontName = "Arial";<br />

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

ef2.fontDescription = fd2;<br />

tb.cont<strong>en</strong>t.elem<strong>en</strong>tFormat = ef2;<br />

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

addChild(tx2);<br />

Controlling text<br />

Flash Player 10 and later, Adobe AIR 1.5 and later<br />

FTE gives you a new set of text formatting controls to handle justification and character spacing (kerning and<br />

tracking). There are also properties for controlling that way lines are brok<strong>en</strong> and for setting tab stops within lines.<br />

Last updated 6/6/2012<br />

411

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

Saved successfully!

Ooh no, something went wrong!