前回の第40回
Text Layout Framework Markup形式のXMLデータを外部ファイルから読込む
XMLデータは,
<TextFlow xmlns='http://ns.adobe.com/textLayout/2008'>
<p textAlign='center'>
<span fontFamily='Impact' fontSize='18'>
Using a TextFlow object to structure text data
</span>
</p>
<p>
<span>
When you use the Text Layout Framework, text content is structured and stored in a TextFlow object.
</span>
</p>
</TextFlow>
外部XMLファイルの読込みは,
まず,
スクリプト1 外部XMLデータをText Layout Frameworkで配置する
// フレームアクション
import flash.display.Sprite;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.events.Event;
import flashx.textLayout.elements.TextFlow;
import flashx.textLayout.conversion.TextConverter;
import flashx.textLayout.container.ContainerController;
import flashx.textLayout.compose.IFlowComposer;
import flashx.textLayout.formats.TextLayoutFormat;
var container:Sprite = new Sprite();
var markUp:XML;
var myFlow:TextFlow;
var controller:ContainerController = new ContainerController(container, 240, 100);
var composer:IFlowComposer;
var my_fmt:TextLayoutFormat = new TextLayoutFormat();
// 外部XMLファイルの読込み
var myLoader:URLLoader = new URLLoader();
var myRequest:URLRequest = new URLRequest("tlf.xml");
myLoader.addEventListener(Event.COMPLETE, xSetText);
myLoader.load(myRequest);
addChild(container);
// 読込み完了時の処理
function xSetText(eventObject:Event):void {
markUp = XML(eventObject.target.data);
myFlow = TextConverter.importToFlow(markUp, TextConverter.TEXT_LAYOUT_FORMAT);
// デフォルトフォーマットの設定
myFlow.hostFormat = my_fmt;
my_fmt.fontFamily = "Helvetica";
my_fmt.fontSize = 14;
composer = myFlow.flowComposer;
composer.addController(controller);
composer.updateAllControllers();
}
[ムービープレビュー]を確かめると,