ActionScript 3.0で始めるオブジェクト指向スクリプティング

第40回 Text Layout Frameworkでテキストコンテンツを表示する

この記事を読むのに必要な時間:およそ 3 分

フローコンポーザーでテキストコンテンツを表示する

TextFlowオブジェクトがもつ構造化されたテキストやそのフォーマット指定のデータをステージに表示する役割は,フローコンポーザーが担う。フローコンポーザーのオブジェクトは,前回紹介したTextFlow.flowComposerプロパティからその参照が得られる。フローコンポーザーは,インターフェイスIFlowComposerを実装するクラスのオブジェクトだ。

テキストコンテンツは,Spriteインスタンスをコンテナとして流し込まれる。そのSpriteインスタンスとTextFlowインスタンスを結びつけ,テキストの表示領域を定めるのがContainerControllerオブジェクトだ。コンストラクタメソッドには,コンテナのSpriteインスタンスおよびテキスト領域の幅と高さを渡す。そして,そのオブジェクトをIFlowComposer.addController()メソッドの引数に渡すと,TextFlowインスタンスのコンテナが加わる図3)⁠

new ContainerController(コンテナSprite, テキスト領域幅, テキスト領域高さ)
IFlowComposerオブジェクト.addController(ContainerControllerオブジェクト)

図3 Text Layout Frameworkにおけるオブジェクトの関係

図3 Text Layout Frameworkにおけるオブジェクトの関係

フローコンポーザーで,前掲フレームアクションのテキストコンテンツを表示してみよう図4)⁠前掲フレームアクションにフローコンポーザーの処理を加えたのが,つぎのスクリプト1だ。前回説明したとおり,フローコンポーザーにテキストコンテンツを表示させるには,IFlowComposer.updateAllControllers()メソッドの呼出しが必要になる。

スクリプト1 Text Layout FrameworkでXML形式のテキストコンテンツをステージに配置する

// フレームアクション
import flash.display.Sprite;
import flashx.textLayout.elements.TextFlow;
import flashx.textLayout.conversion.TextConverter;
import flashx.textLayout.container.ContainerController;
import flashx.textLayout.compose.IFlowComposer;
var container:Sprite = new Sprite();
var markUp:XML = <TextFlow xmlns='http://ns.adobe.com/textLayout/2008'>
  <p textAlign='center'><span fontFamily='Impact' fontSize='18'>
  Text Layout Framework
  </span></p>
</TextFlow>;
var myFlow:TextFlow = TextConverter.importToFlow(markUp, TextConverter.TEXT_LAYOUT_FORMAT);
var controller:ContainerController = new ContainerController(container, 240, 100);
var composer:IFlowComposer = myFlow.flowComposer;
addChild(container);
composer.addController(controller);
composer.updateAllControllers();

図4 フローコンポーザーでテキストがステージに表示された

図4 フローコンポーザーでテキストがステージに表示された

次回でText Layout Frameworkの説明は終える。外部XMLファイルからText Layout Framework Markup形式のデータを読み込んだ後,ユーザーインタラクションを加える。

今回解説した次のサンプルファイルがダウンロードできます。

著者プロフィール

野中文雄(のなかふみお)

ソフトウェアトレーナー,テクニカルライター,オーサリングエンジニア。上智大学法学部卒,慶応義塾大学大学院経営管理研究科修士課程修了(MBA)。独立系パソコン販売会社で,総務・人事,企画,外資系企業担当営業などに携わる。その後,マルチメディアコンテンツ制作会社に転職。ソフトウェアトレーニング,コンテンツ制作などの業務を担当する。2001年11月に独立。Web制作者に向けた情報発信プロジェクトF-siteにも参加する。株式会社ロクナナ取締役(非常勤)。

URLhttp://www.FumioNonaka.com/

著書

コメント

コメントの記入