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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

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

Using the Flash Text Engine<br />

package com.example.programmingas3.newslayout<br />

{<br />

import flash.display.Sprite;<br />

import flash.text.<strong>en</strong>gine.*;<br />

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

{<br />

private var tb:TextBlock;<br />

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

private var numColumns:uint = 2;<br />

private var gutter:uint = 10;<br />

private var leading:Number = 1.25;<br />

private var preferredWidth:Number = 400;<br />

private var preferredHeight:Number = 100;<br />

private var colWidth:int = 200;<br />

public function MultiColumnText(txt:String = "",cols:uint = 2,<br />

gutter:uint = 10, w:Number = 400, h:Number = 100,<br />

ef:Elem<strong>en</strong>tFormat = null):void<br />

{<br />

this.numColumns = Math.max(1, cols);<br />

this.gutter = Math.max(1, gutter);<br />

this.preferredWidth = w;<br />

this.preferredHeight = h;<br />

this.setColumnWidth();<br />

var field:FormattedTextBlock = new FormattedTextBlock(ef,txt,this.colWidth);<br />

var totLines:int = field.totalTextLines;<br />

field = null;<br />

var linesPerCol:int = Math.ceil(totLines/cols);<br />

tb = new TextBlock();<br />

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

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

var textLine:TextLine = null;<br />

var x:Number = 0;<br />

var y:Number = 0;<br />

var i:int = 0;<br />

var j:int = 0;<br />

while (textLine = tb.createTextLine(textLine,this.colWidth,0,true))<br />

{<br />

textLine.x = Math.floor(i/(linesPerCol+1))*(this.colWidth+this.gutter);<br />

textLine.y = y;<br />

y += this.leading*textLine.height;<br />

Last updated 6/6/2012<br />

424

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

Saved successfully!

Ooh no, something went wrong!