パッケージ | flashx.textLayout.factory |
クラス | public class TextFlowTextLineFactory |
継承 | TextFlowTextLineFactory TextLineFactoryBase Object |
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
テキスト行は静的なもので、矩形の枠に収まるよう作成されますが、複数の段落、フォーマットおよびインライングラフィックを含むことができます。文字列から直接 TextLine オブジェクトを作成するには、StringTextLineFactory を使用します。
注意:インライングラフィックを使用する場合、InlineGraphicElement オブジェクトの source
プロパティは、DisplayObject または埋め込みアセットを表す Class オブジェクトのインスタンスである必要があります。URLRequest オブジェクトは使用できません。行が作成される際のインライングラフィックの幅と高さは、フローの構成に使用されます。
関連する API エレメント
パブリックプロパティ
パブリックメソッド
メソッド | 定義元 | ||
---|---|---|---|
TextFlowTextLineFactory オブジェクトを作成します。 | TextFlowTextLineFactory | ||
指定したテキストフローから TextLine オブジェクトを作成します。 | TextFlowTextLineFactory | ||
レイアウトされたコンテンツが収められる最小の矩形です。 | TextLineFactoryBase | ||
オブジェクトに指定されたプロパティが定義されているかどうかを示します。 | Object | ||
Object クラスのインスタンスが、パラメーターとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。 | Object | ||
指定されたプロパティが存在し、列挙できるかどうかを示します。 | Object | ||
ループ処理に対するダイナミックプロパティの可用性を設定します。 | Object | ||
ロケール固有の規則に従って書式設定された、このオブジェクトのストリング表現を返します。 | Object | ||
指定されたオブジェクトのストリング表現を返します。 | Object | ||
指定されたオブジェクトのプリミティブな値を返します。 | Object |
コンストラクターの詳細
TextFlowTextLineFactory | () | コンストラクター |
public function TextFlowTextLineFactory()
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
TextFlowTextLineFactory オブジェクトを作成します。
メソッドの詳細
createTextLines | () | メソッド |
public function createTextLines(callback:Function, textFlow:flashx.textLayout.elements:TextFlow):void
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
指定したテキストフローから TextLine オブジェクトを作成します。
テキスト行は、compositionBounds
プロパティに割り当てられた境界に収まるよう構成されます。行が作成されるたびに、callback
パラメーターで指定されている関数がファクトリにより呼び出されます。この関数は TextLine オブジェクトに渡されて、行を表示する役割を担います。行に背景色がある場合、ファクトリは、その背景色の矩形を含む Shape オブジェクトを指定してコールバック関数の呼び出しも行います。
ファクトリのスクロールポリシーは、生成される行数を制御することに注意してください。
パラメーター
callback:Function — 生成された各 TextLine オブジェクトを使用して呼び出す関数です。任意の背景色を表す Shape オブジェクト(存在する場合)とテキストの TextLine オブジェクトを指定してコールバックが呼び出されます。
| |
textFlow:flashx.textLayout.elements:TextFlow — 行の作成元の TextFlow です。
|
例 この例の使用方法
TextFlowTextLineFactory_example.as
次の例では、TextFlowTextLineFactory を使用して一連のテキスト行を作成しています。ファクトリメソッドの
createTextLines()
は、同じ句を使用して 2 回呼び出されています。ドロップシャドウ効果を作成するために、ファクトリのプロパティおよびフローのフォーマットが呼び出しと呼び出しの間に調整されています。
package flashx.textLayout.factory.examples { import flash.display.Sprite; import flash.display.DisplayObject; import flash.geom.Rectangle; import flash.text.engine.TextLine; import flashx.textLayout.elements.ParagraphElement; import flashx.textLayout.elements.SpanElement; import flashx.textLayout.elements.TextFlow; import flashx.textLayout.factory.TextFlowTextLineFactory; import flashx.textLayout.formats.TextLayoutFormat; public class TextFlowTextLineFactory_example extends Sprite { public function TextFlowTextLineFactory_example() { var factory:TextFlowTextLineFactory = new TextFlowTextLineFactory(); factory.compositionBounds = new Rectangle( 100, 100, 200, 130 ); var flow:TextFlow = new TextFlow(); var format:TextLayoutFormat = new TextLayoutFormat(); format.fontFamily = "LilyUPC, Verdana, _sans"; format.fontSize = 32; format.color = 0x000000; format.textAlpha = .5; var span:SpanElement = new SpanElement(); span.text = "The quick brown fox jumped over the lazy dog."; span.format = format; var para:ParagraphElement = new ParagraphElement(); para.addChild( span ); flow.addChild( para ); factory.createTextLines( useTextLines, flow ); factory.compositionBounds = new Rectangle( 99, 99, 200, 130 ); format.color = 0x990000; format.textAlpha = 1; span.format = format; factory.createTextLines( useTextLines, flow ); graphics.beginFill(0x555555,.5); graphics.drawRect( 99, 99, 201, 131 ); graphics.endFill(); } private function useTextLines( lineOrShape:DisplayObject ):void { this.addChild( lineOrShape ); } } }
Tue Jun 12 2018, 10:34 AM Z