| パッケージ | flash.text.engine |
| クラス | public final class TextLine |
| 継承 | TextLine DisplayObjectContainer InteractiveObject DisplayObject EventDispatcher Object |
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5, Flash Lite 4 |
ActionScript コードから直接 TextLine オブジェクトを作成することはできません。new TextLine() を呼び出すと、例外がスローされます。TextLine オブジェクトを作成するには、TextBlock の createTextLine() メソッドを呼び出します。
TextLine は、コンテンツの生成と、行のアトムのプロパティを記述したメソッドによるインタラクティビティの提供に最低限必要な情報をカプセル化します。アトムとは、グラフィックエレメントと文字(結合された文字のグループを含む)の両方、テキスト行を構成する分割できないエンティティを指す用語です。
テキスト行に対する通常のイベント送出処理が終了した後で、テキスト行が有効な場合は、テキスト行に指定されるコンテンツエレメントオブジェクトの eventMirror プロパティで指定されるイベントディスパッチャにイベントがミラーされます。これらのオブジェクトは、TextLine.mirrorRegions プロパティに記録されます。イベント通知が失敗または停止した場合や、テキスト行が有効ではない場合は、イベントがミラーされません。
マウスイベントのミラーは特殊なケースです。ミラー領域は実際には表示オブジェクトではないので、mouseOver イベントと mouseOut イベントはシミュレートされます。rollOver イベントと rollOut イベントはシミュレートされません。自然に発生するすべての mouseOver イベント、mouseOut イベント、rollOver イベントおよび rollOut イベントは、そのターゲットがテキスト行であるか、テキスト行の子であるかに関係なしに無視され、ミラーされません。
TextLine オブジェクトの起点は、ベースラインの先頭です。欧文ベースラインにラテン語のテキストがある行の垂直位置(y プロパティ)を設定しない場合は、Sprite の最上部の下にテキストのディセンダだけが表示されるので、そこにテキスト行を追加します。次の図を参照してください。
TextLine クラスには、DisplayObjectContainer、InteractiveObject、DisplayObject、EventDispatcher などの祖先クラスがあり、これらからプロパティやメソッドを継承します。以下に示す継承プロパティは TextLine オブジェクトに適用できません。
-
contextMenu -
focusRect -
tabChildren -
tabEnabled -
tabIndex
これらのプロパティを設定しようとすると、テキストエンジンから IllegalOperationError のエラーがスローされます。これらのプロパティは読み取ることはできますが、常にデフォルト値が設定されています。
関連する API エレメント
| プロパティ | 定義元 | ||
|---|---|---|---|
![]() | accessibilityImplementation : AccessibilityImplementation
この InteractiveObject インスタンスの現在のアクセシビリティの実装(AccessibilityImplementation)です。 | InteractiveObject | |
![]() | accessibilityProperties : AccessibilityProperties
この表示オブジェクトの現在のアクセシビリティオプションです。 | DisplayObject | |
![]() | alpha : Number
指定されたオブジェクトのアルファ透明度値を示します。 | DisplayObject | |
| ascent : Number [読み取り専用]
行の基準から最も高さのある文字の最上部までのピクセル数を指定します。 | TextLine | ||
| atomCount : int [読み取り専用]
行内のアトムの数、つまりスペースおよびグラフィックエレメントを含む、分割できないエレメントの数です。 | TextLine | ||
![]() | blendMode : String
使用するブレンドモードを指定する BlendMode クラスの値です。 | DisplayObject | |
![]() | blendShader : Shader [書き込み専用]
前景と背景のブレンドに使用するシェーダーを設定します。 | DisplayObject | |
![]() | cacheAsBitmap : Boolean
true に設定されている場合、表示オブジェクトの内部ビットマップ表現が Flash ランタイムにキャッシュされます。 | DisplayObject | |
![]() | cacheAsBitmapMatrix : Matrix
null 以外の場合、この Matrix オブジェクトは、cacheAsBitmap を true に設定したときの表示オブジェクトのレンダリング方法を定義します。 | DisplayObject | |
![]() | constructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクター関数への参照です。 | Object | |
![]() | contextMenu : NativeMenu
このオブジェクトに関連付けられたコンテキストメニューを指定します。 | InteractiveObject | |
| descent : Number [読み取り専用]
行の基準から最も下に突き出している文字の最下部までのピクセル数を指定します。 | TextLine | ||
![]() | doubleClickEnabled : Boolean
オブジェクトが doubleClick イベントを受け取るかどうかを指定します。 | InteractiveObject | |
![]() | filters : Array
表示オブジェクトに現在関連付けられている各フィルターオブジェクトが格納されているインデックス付きの配列です。 | DisplayObject | |
![]() | focusRect : Object
このオブジェクトがフォーカス矩形を表示するかどうかを指定します。 | InteractiveObject | |
| hasGraphicElement : Boolean [読み取り専用]
テキスト行がグラフィックエレメントを含んでいるかどうかを示します。 | TextLine | ||
| hasTabs : Boolean [読み取り専用]
テキスト行がタブを含んでいるかどうかを示します。 | TextLine | ||
![]() | height : Number
表示オブジェクトの高さを示します(ピクセル単位)。 | DisplayObject | |
![]() | loaderInfo : LoaderInfo [読み取り専用]
この表示オブジェクトが属するファイルの読み込み情報を含む LoaderInfo オブジェクトを返します。 | DisplayObject | |
![]() | mask : DisplayObject
呼び出し元の表示オブジェクトは、指定された mask オブジェクトによってマスクされます。 | DisplayObject | |
![]() | metaData : Object
メタデータが PlaceObject4 タグによってこの DisplayObject のインスタンスと一緒に SWF ファイル内に保存されている場合に、DisplayObject インスタンスのメタデータオブジェクトを取得します。 | DisplayObject | |
| mirrorRegions : Vector.<flash.text.engine:TextLineMirrorRegion> [読み取り専用]
行に関連付けられた、TextLineMirrorRegion オブジェクトを含む Vector です。存在しない場合は null になります。 | TextLine | ||
![]() | mouseChildren : Boolean
オブジェクトの子がマウスまたはユーザー入力デバイスに対応しているかどうかを判断します。 | DisplayObjectContainer | |
![]() | mouseEnabled : Boolean
このオブジェクトでマウスまたはその他のユーザー入力メッセージを受け取るかどうかを指定します。 | InteractiveObject | |
![]() | mouseX : Number [読み取り専用]
マウスまたはユーザー入力デバイスの x 軸の位置をピクセルで示します。 | DisplayObject | |
![]() | mouseY : Number [読み取り専用]
マウスまたはユーザー入力デバイスの y 軸の位置をピクセルで示します。 | DisplayObject | |
![]() | name : String
DisplayObject のインスタンス名を示します。 | DisplayObject | |
![]() | needsSoftKeyboard : Boolean
この InteractiveObject インスタンスがフォーカスを受け取ったときに、仮想キーボード(画面上のソフトキーボード)を表示するかどうかを指定します。 | InteractiveObject | |
| nextLine : flash.text.engine:TextLine [読み取り専用]
TextBlock 内の次の TextLine。現在の線がブロック内の最後の行である場合、または行の有効性が TextLineValidity.STATIC の場合は null になります。 | TextLine | ||
![]() | numChildren : int [読み取り専用]
このオブジェクトの子の数を返します。 | DisplayObjectContainer | |
![]() | opaqueBackground : Object
表示オブジェクトが特定の背景色で不透明であるかどうかを指定します。 | DisplayObject | |
![]() | parent : DisplayObjectContainer [読み取り専用]
この表示オブジェクトを含む DisplayObjectContainer オブジェクトを示します。 | DisplayObject | |
| previousLine : flash.text.engine:TextLine [読み取り専用]
TextBlock 内の前の TextLine。これがブロック内の最初の行である場合、または行の有効性が TextLineValidity.STATIC の場合は null になります。 | TextLine | ||
| rawTextLength : int [読み取り専用]
グラフィックエレメントを表す U+FDEF 文字および行の一部だが表示されない行末の空白を含む、行になったテキストブロック内の生のテキストの長さです。 | TextLine | ||
![]() | root : DisplayObject [読み取り専用]
読み込まれた SWF ファイル内の表示オブジェクトの場合、root プロパティはその SWF ファイルが表す表示リストのツリー構造部分の一番上にある表示オブジェクトとなります。 | DisplayObject | |
![]() | rotation : Number
DisplayObject インスタンスの元の位置からの回転角を度単位で示します。 | DisplayObject | |
![]() | rotationX : Number
DisplayObject インスタンスの 3D 親コンテナを基準にした元の位置からの x 軸の回転角を度単位で示します。 | DisplayObject | |
![]() | rotationY : Number
DisplayObject インスタンスの 3D 親コンテナを基準にした元の位置からの y 軸の回転角を度単位で示します。 | DisplayObject | |
![]() | rotationZ : Number
DisplayObject インスタンスの 3D 親コンテナを基準にした元の位置からの z 軸の回転角を度単位で示します。 | DisplayObject | |
![]() | scale9Grid : Rectangle
現在有効な拡大 / 縮小グリッドです。 | DisplayObject | |
![]() | scaleX : Number
基準点から適用されるオブジェクトの水平スケール(パーセンテージ)を示します。 | DisplayObject | |
![]() | scaleY : Number
オブジェクトの基準点から適用されるオブジェクトの垂直スケール(パーセンテージ)を示します。 | DisplayObject | |
![]() | scaleZ : Number
オブジェクトの基準点から適用されるオブジェクトの奥行きスケール(パーセンテージ)を示します。 | DisplayObject | |
![]() | scrollRect : Rectangle
表示オブジェクトのスクロール矩形の境界です。 | DisplayObject | |
![]() | softKeyboard : String
ソフトキーボードの外観を制御します。 | InteractiveObject | |
![]() | softKeyboardInputAreaOfInterest : Rectangle
ソフトキーボードが表示されたときに画面に表示したままにする領域を定義します(iOS では使用不可)。 | InteractiveObject | |
| specifiedWidth : Number [読み取り専用]
行を作成したときに、TextBlock.createTextLine() メソッドに対して指定された幅です。 | TextLine | ||
![]() | stage : Stage [読み取り専用]
表示オブジェクトのステージです。 | DisplayObject | |
![]() | tabChildren : Boolean
オブジェクトの子に対してタブが有効かどうかを調べます。 | DisplayObjectContainer | |
![]() | tabEnabled : Boolean
このオブジェクトがタブ順序に含まれるかどうかを指定します。 | InteractiveObject | |
![]() | tabIndex : int
SWF ファイル内のオブジェクトのタブ順序を指定します。 | InteractiveObject | |
| textBlock : flash.text.engine:TextBlock [読み取り専用]
このテキスト行を含む TextBlock。または行の有効性が TextLineValidity.STATIC の場合は null になります。これは、行と TextBlock 間の接続が有効にされていることを意味します。 | TextLine | ||
| textBlockBeginIndex : int [読み取り専用]
テキストブロックの生のテキストで、行の最初にあたる文字のインデックスです。 | TextLine | ||
| textHeight : Number [読み取り専用]
テキスト行の論理的な高さ、つまり ascent + descent に等しくなります。 | TextLine | ||
![]() | textSnapshot : flash.text:TextSnapshot [読み取り専用]
この DisplayObjectContainer インスタンスの TextSnapshot オブジェクトを返します。 | DisplayObjectContainer | |
| textWidth : Number [読み取り専用]
テキスト行の論理的な幅です。テキストエンジンが行をレイアウトするのに使用します。 | TextLine | ||
| totalAscent : Number [読み取り専用]
行のベースラインから最も高さのある文字またはグラフィックの最上部までのピクセル数を指定します。 | TextLine | ||
| totalDescent : Number [読み取り専用]
行のベースラインから最も下に突き出している文字またはグラフィックの最下部までのピクセル数を指定します。 | TextLine | ||
| totalHeight : Number [読み取り専用]
totalAscent + totalDescent に等しい、テキスト行の論理的な高さです。 | TextLine | ||
![]() | transform : flash.geom:Transform
表示オブジェクトのマトリックス、カラー変換、ピクセル境界に関係するプロパティを持つオブジェクトです。 | DisplayObject | |
| unjustifiedTextWidth : Number [読み取り専用]
均等配置をしていない場合の行の幅です。 | TextLine | ||
| userData : *
アプリケーションが任意のデータをテキスト行に関連付けるための方法を提供します。 | TextLine | ||
| validity : String
テキスト行の現在の有効性を指定します。 | TextLine | ||
![]() | visible : Boolean
表示オブジェクトが可視かどうかを示します。 | DisplayObject | |
![]() | width : Number
表示オブジェクトの幅を示します(ピクセル単位)。 | DisplayObject | |
![]() | x : Number
親 DisplayObjectContainer のローカル座標を基準にした DisplayObject インスタンスの x 座標を示します。 | DisplayObject | |
![]() | y : Number
親 DisplayObjectContainer のローカル座標を基準にした DisplayObject インスタンスの y 座標を示します。 | DisplayObject | |
![]() | z : Number
3D 親コンテナを基準にした、DisplayObject インスタンスの z 軸に沿った z 座標位置を示します。 | DisplayObject | |
| メソッド | 定義元 | ||
|---|---|---|---|
![]() |
この DisplayObjectContainer インスタンスに子 DisplayObject インスタンスを追加します。 | DisplayObjectContainer | |
![]() |
この DisplayObjectContainer インスタンスに子 DisplayObject インスタンスを追加します。 | DisplayObjectContainer | |
![]() | addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録し、リスナーがイベントの通知を受け取るようにします。 | EventDispatcher | |
![]() |
特定の point ポイントを指定して呼び出した DisplayObjectContainer.getObjectsUnderPoint() メソッドから返されたリストに、セキュリティ上の制約のために省略される表示オブジェクトがあるかどうかを示します。 | DisplayObjectContainer | |
![]() |
指定された表示オブジェクトが、DisplayObjectContainer インスタンスの子であるか、インスタンス自体であるかを指定します。 | DisplayObjectContainer | |
![]() |
イベントをイベントフローに送出します。 | EventDispatcher | |
TextLine の基になるコンテンツを XML ストリングとしてダンプします。 | TextLine | ||
以降、非推奨 Flash Player 10.1現在は何も実行されません
このメソッドは使用されなくなり、効果はありません。 | TextLine | ||
指定されたインデックス位置にあるアトムの双方向レベルを取得します。 | TextLine | ||
テキスト行を基準として、指定されたインデックス位置にあるアトムの境界を取得します。 | TextLine | ||
指定されたインデックス位置にあるベースラインに従って測定したアトムの中心を取得します。 | TextLine | ||
指定されたインデックス位置にあるアトムのグラフィックを取得します(アトムが文字の場合は null)。 | TextLine | ||
charIndex パラメーターで指定された文字を含むアトムのインデックスを返します。行内の各アトムにその文字が指定されていない場合は -1 を返します。 | TextLine | ||
x パラメーターおよび y パラメーターで指定されたポイントにあるアトムのインデックスを返します。そのポイントにアトムがない場合は -1 を返します。 | TextLine | ||
指定されたインデックス位置にあるアトムのテキストブロック開始インデックスを取得します。 | TextLine | ||
指定されたインデックス位置にあるアトムのテキストブロック終了インデックスを取得します。 | TextLine | ||
指定されたインデックス位置にあるアトムの回転を取得します。 | TextLine | ||
指定されたインデックス位置にあるアトムの左側に単語境界があるかどうかを示します。 | TextLine | ||
TextBlock.baselineZero を基準にして、指定されたベースラインの位置を取得します。 | TextLine | ||
![]() |
targetCoordinateSpace オブジェクトの座標系を基準にして、表示オブジェクトの領域を定義する矩形を返します。 | DisplayObject | |
![]() |
指定のインデックス位置にある子表示オブジェクトインスタンスを返します。 | DisplayObjectContainer | |
![]() |
指定された名前に一致する子表示オブジェクトを返します。 | DisplayObjectContainer | |
![]() |
子 DisplayObject インスタンスのインデックス位置を返します。 | DisplayObjectContainer | |
mirror パラメーターの指定と mirror プロパティが一致する、行の最初の TextLineMirrorRegion を返します。一致しない場合は null を返します。 | TextLine | ||
![]() |
指定されたポイントの下にあり、この DisplayObjectContainer インスタンスの子(または孫など)であるオブジェクトの配列を返します。 | DisplayObjectContainer | |
![]() |
シェイプ上の線を除き、targetCoordinateSpace パラメーターによって定義された座標系に基づいて、表示オブジェクトの境界を定義する矩形を返します。 | DisplayObject | |
![]() |
point オブジェクトをステージ(グローバル)座標から表示オブジェクトの(ローカル)座標に変換します。 | DisplayObject | |
![]() |
ステージ(グローバル)座標の 2 次元のポイントを 3 次元の表示オブジェクトの(ローカル)座標に変換します。 | DisplayObject | |
![]() |
EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。 | EventDispatcher | |
![]() |
オブジェクトに指定されたプロパティが定義されているかどうかを示します。 | Object | |
![]() |
表示オブジェクトの境界ボックスを評価して、obj 表示オブジェクトの境界ボックスと重複または交差するかどうかを調べます。 | DisplayObject | |
![]() |
表示オブジェクトを評価して、x および y パラメーターで指定されたポイントと重複または交差するかどうかを調べます。 | DisplayObject | |
![]() |
Object クラスのインスタンスが、パラメーターとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。 | Object | |
![]() |
3 次元の表示オブジェクトの(ローカル)座標の 3 次元のポイントをステージ(グローバル)座標の 2 次元のポイントに変換します。 | DisplayObject | |
![]() |
point オブジェクトを表示オブジェクトの(ローカル)座標からステージ(グローバル)座標に変換します。 | DisplayObject | |
![]() |
指定されたプロパティが存在し、列挙できるかどうかを示します。 | Object | |
![]() |
DisplayObjectContainer インスタンスの子リストから指定の child DisplayObject インスタンスを削除します。 | DisplayObjectContainer | |
![]() |
DisplayObjectContainer の子リストの指定された index 位置から子 DisplayObject を削除します。 | DisplayObjectContainer | |
![]() |
DisplayObjectContainer インスタンスの子リストから、すべての child DisplayObject インスタンスを削除します。 | DisplayObjectContainer | |
![]() |
EventDispatcher オブジェクトからリスナーを削除します。 | EventDispatcher | |
![]() |
仮想キーボードを前面に表示します。 | InteractiveObject | |
![]() |
表示オブジェクトコンテナの既存の子の位置を変更します。 | DisplayObjectContainer | |
![]() |
ループ処理に対するダイナミックプロパティの可用性を設定します。 | Object | |
![]() |
このオブジェクトでルート指定されているすべての MovieClip のタイムラインでの実行を再帰的に停止します。 | DisplayObjectContainer | |
![]() |
指定された 2 つの子オブジェクトの z 順序(重ね順)を入れ替えます。 | DisplayObjectContainer | |
![]() |
子リスト内の指定されたインデックス位置に該当する 2 つの子オブジェクトの z 順序(重ね順)を入れ替えます。 | DisplayObjectContainer | |
![]() |
ロケール固有の規則に従って書式設定された、このオブジェクトのストリング表現を返します。 | Object | |
![]() |
指定されたオブジェクトのストリング表現を返します。 | Object | |
![]() |
指定されたオブジェクトのプリミティブな値を返します。 | Object | |
![]() |
指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。 | EventDispatcher | |
| 定数 | 定義元 | ||
|---|---|---|---|
| MAX_LINE_WIDTH : int = 1000000 [静的]
テキスト行の最大要求幅(ピクセル単位)です。 | TextLine | ||
ascent | プロパティ |
atomCount | プロパティ |
atomCount:int [読み取り専用] | 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5, Flash Lite 4 |
行内のアトムの数、つまりスペースおよびグラフィックエレメントを含む、分割できないエレメントの数です。
実装
public function get atomCount():int例外
IllegalOperationError — 行の validity は、TextLineValidity.STATIC です。
|
descent | プロパティ |
hasGraphicElement | プロパティ |
hasTabs | プロパティ |
mirrorRegions | プロパティ |
mirrorRegions:Vector.<flash.text.engine:TextLineMirrorRegion> [読み取り専用] | 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5, Flash Lite 4 |
行に関連付けられた、TextLineMirrorRegion オブジェクトを含む Vector です。存在しない場合は null になります。
実装
public function get mirrorRegions():Vector.<flash.text.engine:TextLineMirrorRegion>関連する API エレメント
nextLine | プロパティ |
nextLine:flash.text.engine:TextLine [読み取り専用] | 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5, Flash Lite 4 |
TextBlock 内の次の TextLine または null(現在の線がブロック内の最後の行である場合、または行の有効性が TextLineValidity.STATIC の場合)。
実装
public function get nextLine():flash.text.engine:TextLine関連する API エレメント
previousLine | プロパティ |
previousLine:flash.text.engine:TextLine [読み取り専用] | 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5, Flash Lite 4 |
TextBlock 内の前の TextLine。これがブロック内の最初の行である場合、または行の有効性が TextLineValidity.STATIC の場合は null になります。
実装
public function get previousLine():flash.text.engine:TextLine関連する API エレメント
rawTextLength | プロパティ |
specifiedWidth | プロパティ |
textBlock | プロパティ |
textBlock:flash.text.engine:TextBlock [読み取り専用] | 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5, Flash Lite 4 |
このテキスト行を含む TextBlock。または行の有効性が TextLineValidity.STATIC の場合は null になります。これは、行と TextBlock 間の接続が有効にされていることを意味します。
実装
public function get textBlock():flash.text.engine:TextBlock関連する API エレメント
textBlockBeginIndex | プロパティ |
textHeight | プロパティ |
textHeight:Number [読み取り専用] | 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5, Flash Lite 4 |
テキスト行の論理的な高さ、つまり ascent + descent に等しくなります。インキが使用される高さを取得するには、継承された height プロパティにアクセスします。
値は、TextBlock.baselineZero が文字であるかどうかにより、行を結合する文字の最上部と最下部、またはアセントとディセントのいずれかの基準間の差に基づいて計算されます。グラフィックエレメントは、これらの基準の計算では考慮されません。
実装
public function get textHeight():Number関連する API エレメント
textWidth | プロパティ |
textWidth:Number [読み取り専用] | 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5, Flash Lite 4 |
テキスト行の論理的な幅です。テキストエンジンが行をレイアウトするのに使用します。継承された width プロパティにアクセスし、描画されたすべてのピクセルによる境界ボックスの実際の幅を取得します。
実装
public function get textWidth():Number関連する API エレメント
例 ( この例の使用方法 )
specifiedWidth、textWidth および width の各プロパティの値をトレースします。トレース出力は次のとおりです。
- specifiedWidth:500
- textWidth:268.9921875
- width:269
- specifiedWidth:500
- textWidth:267.52734375
- width:267.55
package {
import flash.display.Sprite;
import flash.text.engine.TextBlock;
import flash.text.engine.TextElement;
import flash.text.engine.TextLine;
import flash.text.engine.FontDescription;
import flash.text.engine.ElementFormat;
import flash.text.engine.FontPosture;
public class TextLine_textWidthExample extends Sprite {
public function TextLine_textWidthExample() {
var str:String = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, ";
var yPos:Number = 20;
var fontDescription:FontDescription = new FontDescription();
var textBlock:TextBlock = new TextBlock();
fontDescription.fontPosture = FontPosture.NORMAL;
var format:ElementFormat = new ElementFormat(fontDescription, 12);
var textElement:TextElement = new TextElement(str, format);
textBlock.content = textElement;
createLine(textBlock, yPos);
var fontDescriptionItalic = fontDescription.clone();
fontDescriptionItalic.fontPosture = FontPosture.ITALIC;
var formatItalic = new ElementFormat(fontDescriptionItalic, 12);
textElement = new TextElement(str, formatItalic);
textBlock.content = textElement;
createLine(textBlock, yPos + 20);
}
private function createLine(textBlock:TextBlock, yPos:Number):void {
var textLine:TextLine = textBlock.createTextLine (null, 500);
trace("specifiedWidth is: " + textLine.specifiedWidth);
trace("textWidth is: " + textLine.textWidth);
trace("width is: " + textLine.width);
addChild(textLine);
textLine.x = 15;
textLine.y = yPos;
}
}
}
totalAscent | プロパティ |
totalDescent | プロパティ |
totalHeight | プロパティ |
unjustifiedTextWidth | プロパティ |
unjustifiedTextWidth:Number [読み取り専用] | 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5, Flash Lite 4 |
均等配置をしていない場合の行の幅です。均等配置されていないテキストの場合、この値は textWidth と同じです。均等配置されているテキストの場合、この値は均等配置されていなかった場合の長さであり、textWidth の値が実際の行の幅を表します。例えば、次のストリングが均等配置され、幅に 500 を指定して TextBlock.createTextLine() に送信された場合は、実際の幅が 500 ですが、均等配置されていない幅は 268.9921875 になります。
実装
public function get unjustifiedTextWidth():Number関連する API エレメント
例 ( この例の使用方法 )
import flash.display.Sprite;
import flash.text.engine.TextBlock;
import flash.text.engine.TextElement;
import flash.text.engine.TextLine;
import flash.text.engine.FontDescription;
import flash.text.engine.ElementFormat;
import flash.text.engine.SpaceJustifier;
import flash.text.engine.LineJustification;
var str:String = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, ";
var fontDescription:FontDescription = new FontDescription();
var textBlock:TextBlock = new TextBlock();
var format:ElementFormat = new ElementFormat(fontDescription, 12);
var textElement:TextElement = new TextElement(str, format);
textBlock.content = textElement;
var spaceJustifier:SpaceJustifier = new SpaceJustifier("en", LineJustification.ALL_INCLUDING_LAST);
textBlock.textJustifier = spaceJustifier;
var textLine:TextLine = textBlock.createTextLine(null, 500);
textLine.y = 20;
addChild(textLine);
trace("textWidth value is: " + textLine.textWidth); // 500.00244140625
trace("unjustifiedTextWidth is: " + textLine.unjustifiedTextWidth); // 268.9921875
userData | プロパティ |
public var userData:*| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5, Flash Lite 4 |
アプリケーションが任意のデータをテキスト行に関連付けるための方法を提供します。
validity | プロパティ |
validity:String| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5, Flash Lite 4 |
テキスト行の現在の有効性を指定します。このプロパティの値は、TextLineValidity クラスのメンバー内に含まれます。このプロパティの設定規則は、次のようになります。
有効性が TextLineValidity のメンバーではないいずれかのストリングに設定される場合、行は USER_INVALID であると見なされます。USER_INVALID は、このような値を表すためにここで使用される抽象値です。
TextBlock のコンテンツが変更されると、Flash ランタイムは、影響を受けたテキスト行、前の行およびすべての継続行を INVALID としてマークします。以前は最初に影響を受けた行にあったコンテンツ部分が、変更によってその前の行に取り込まれるようになる場合、前の行は無効とマークされる必要があります。
新しく改行された行は、常に VALID です。Flash ランタイムは、継続行を VALID から POSSIBLY_INVALID または INVALID に変更することがあります。このコードは、改行内容が同じである場合は POSSIBLY_INVALID の行を VALID に、同じでない場合は INVALID に変更します。
アプリケーションコードでは、VALID の行を INVALID または USER_INVALID とマークしたり、USER_INVALID の行を VALID とマークしたりできます。アプリケーションコードは、行を POSSIBLY_INVALID とマークすることはできません。
アプリケーションコードは、いずれの行も STATIC とマークできます。この操作を行うと、block メンバーが null になります。STATIC のテキスト行内のグラフィックエレメントが STATIC のテキスト行の派生元であるテキストブロックから改行された新しいテキスト行の部分である場合、それらはすべて削除され、親が再設定されます。
実装
public function get validity():String public function set validity(value:String):void例外
ArgumentError — 現在の値が TextLineValidity.STATIC の場合。
| |
ArgumentError — 現在の値が TextLineValidity.INVALID で、新しい値が TextValidity.STATIC 以外の値である場合。
| |
ArgumentError — 現在の値が TextLineValidity.POSSIBLY_INVALID で、新しい値が TextLineValidity.VALID である場合。
| |
ArgumentError — 新しい値が TextLineValidity.POSSIBLY_INVALID の場合。
|
関連する API エレメント
dump | () | メソッド |
public function dump():String| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
TextLine の基になるコンテンツを XML ストリングとしてダンプします。これにはテキスト、書式およびレイアウト情報が含まれており、自動化されたテストで役立ちます。
次に出力について説明します。
[LINE] <line ascent=[Number] descent=[Number] rotation=[int]> <elements> [0-N ELEMENT] </elements> <clusters> [0-N CLUSTER] </clusters> </line> [ELEMENT] <glyph isEmbedded=[Boolean] fontName=[String] isBold=[Boolean] isItalic=[Boolean] gid=[int] pointSize=[Number] x=[Number] y=[Number] rotation=[int]/> or <graphic child=[int] x=[Number] y=[Number] rotation=[int]/> or <embeddedRun x=[Number] y=[Number]> [LINE] </embeddedRun> [CLUSTER] <cluster xLeft=[Number] xCenter=[Number] xRight=[Number] cursorOnLeft=[Boolean] cursorOnRight=[Boolean] wordBoundaryOnLeft=[Boolean] wordBoundaryOnRight=[Boolean]/>
注意:このメソッドからのコンテンツおよび出力のフォーマットは、今後変更される可能性があります。アドビ システムズ社は、このメソッドの後方互換性は保証していません。
戻り値String |
関連する API エレメント
flushAtomData | () | メソッド |
public function flushAtomData():void| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5, Flash Lite 4 |
このメソッドは使用されなくなり、効果はありません。アトムデータは圧縮されており、メモリ使用率の管理における要因とはなりません。
関連する API エレメント
getAtomBidiLevel | () | メソッド |
public function getAtomBidiLevel(atomIndex:int):int| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5, Flash Lite 4 |
指定されたインデックス位置にあるアトムの双方向レベルを取得します。TextBlock.bidiLevel と行を構成する文字の Unicode の双方向プロパティの組み合わせで決まります。
例えば、テキストブロックがヘブライ語のテキストで始まる場合、TextBlock.bidiLevel に 1 を設定して、右から左方向をデフォルトに設定します。テキストの中に英語の引用(左から右方向)がある場合は、そのテキストの AtomBidiLevel には 2 が設定されています。その英語の中にアラビア語(右から左方向)が入っている場合には、AtomBidiLevel は 3 になります。アラビア語の中で数字(左から右方向)が出てくる場合は、その数字の AtomBidiLevel の設定値は 4 です。アトムがどの行で終わるかは関係ありません。ヘブライ語のアトムは AtomBidiLevel が 1、英語のアトムは AtomBidiLevel が 2、アラビア語のアトムは AtomBidiLevel が 3、数字のアトムは AtomBidiLevel が 4 です。
パラメーター
atomIndex:int — アトムの 0 から始まるインデックス値です。つまり、最初のアトムは 0、2 番目のアトムは 1 で、以下同様に続きます。
|
int — atomIndex で指定された位置のアトムの双方向レベルです。
|
例外
RangeError — 指定されたアトムのインデックスは範囲外です。
| |
IllegalOperationError — 行の validity は、TextLineValidity.STATIC です。
|
関連する API エレメント
getAtomBounds | () | メソッド |
public function getAtomBounds(atomIndex:int):Rectangle| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5, Flash Lite 4 |
テキスト行を基準として、指定されたインデックス位置にあるアトムの境界を取得します。指定されたアトムの境界は、行の水平座標(x)、行の垂直座標(y)、幅(w)および高さ(h)で構成されます。すべての値はピクセル単位です。
パラメーター
atomIndex:int — アトムの 0 から始まるインデックス値です。つまり、最初のアトムは 0、2 番目のアトムは 1 で、以下同様に続きます。
|
Rectangle — atomIndex で指定された位置のアトムの境界です。
|
例外
RangeError — 指定されたアトムのインデックスは範囲外です。
| |
IllegalOperationError — 行の validity は、TextLineValidity.STATIC です。
|
getAtomCenter | () | メソッド |
public function getAtomCenter(atomIndex:int):Number| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5, Flash Lite 4 |
指定されたインデックス位置にあるベースラインに従って測定したアトムの中心を取得します。
パラメーター
atomIndex:int — アトムの 0 から始まるインデックス値です。つまり、最初のアトムは 0、2 番目のアトムは 1 で、以下同様に続きます。
|
Number — atomIndex で指定された位置のアトムの中心です。
|
例外
RangeError — 指定されたアトムのインデックスは範囲外です。
| |
IllegalOperationError — 行の validity は、TextLineValidity.STATIC です。
|
getAtomGraphic | () | メソッド |
public function getAtomGraphic(atomIndex:int):DisplayObject| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5, Flash Lite 4 |
指定されたインデックス位置にあるアトムのグラフィックを取得します(アトムが文字の場合は null)。
パラメーター
atomIndex:int — アトムの 0 から始まるインデックス値です。つまり、最初のアトムは 0、2 番目のアトムは 1 で、以下同様に続きます。
|
DisplayObject — atomIndex で指定された位置のアトムのグラフィックです。
|
例外
RangeError — 指定されたアトムのインデックスは範囲外です。
| |
IllegalOperationError — 行の validity は、TextLineValidity.STATIC です。
|
getAtomIndexAtCharIndex | () | メソッド |
public function getAtomIndexAtCharIndex(charIndex:int):int| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5, Flash Lite 4 |
charIndex パラメーターで指定された文字を含むアトムのインデックスを返します。行内の各アトムにその文字が指定されていない場合は -1 を返します。charIndex は、行を含むテキストブロックのコンテンツ全体に対する相対的な値です。
パラメーター
charIndex:int — 文字の 0 から始まるインデックス値です。つまり、最初の文字は 0、2 番目の文字は 1 で、以下同様に続きます。
|
int — charIndex の位置にある文字を含むアトムのインデックスです。行内の各アトムにその文字が指定されていない場合は -1 を返します。
|
例外
IllegalOperationError — 行の validity は、TextLineValidity.STATIC です。
|
getAtomIndexAtPoint | () | メソッド |
public function getAtomIndexAtPoint(stageX:Number, stageY:Number):int| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5, Flash Lite 4 |
x パラメーターおよび y パラメーターで指定されたポイントにあるアトムのインデックスを返します。そのポイントにアトムがない場合は -1 を返します。
このメソッドが取り出す座標値はグローバル座標なので、MouseEvent.stageX および MouseEvent.stageY プロパティと一緒に使うことが簡単にできます。
パラメーター
stageX:Number — 検査対象のポイントのグローバル x 座標です。
| |
stageY:Number — 検査対象のポイントのグローバル y 座標です。
|
int — このポイントにあるアトムのインデックスです。指定されたポイントがどのアトムの上にもない場合は -1 を返します。
|
例外
IllegalOperationError — 行の validity は、TextLineValidity.STATIC です。
|
getAtomTextBlockBeginIndex | () | メソッド |
public function getAtomTextBlockBeginIndex(atomIndex:int):int| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5, Flash Lite 4 |
指定されたインデックス位置にあるアトムのテキストブロック開始インデックスを取得します。
パラメーター
atomIndex:int — アトムの 0 から始まるインデックス値です。つまり、最初のアトムは 0、2 番目のアトムは 1 で、以下同様に続きます。
|
int — atomIndex で指定された位置のアトムのテキストブロック開始インデックスです。
|
例外
RangeError — 指定されたアトムのインデックスは範囲外です。
| |
IllegalOperationError — 行の validity は、TextLineValidity.STATIC です。
|
getAtomTextBlockEndIndex | () | メソッド |
public function getAtomTextBlockEndIndex(atomIndex:int):int| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5, Flash Lite 4 |
指定されたインデックス位置にあるアトムのテキストブロック終了インデックスを取得します。
パラメーター
atomIndex:int — アトムの 0 から始まるインデックス値です。つまり、最初のアトムは 0、2 番目のアトムは 1 で、以下同様に続きます。
|
int — atomIndex で指定された位置のアトムのテキストブロック終了インデックスです。
|
例外
RangeError — 指定されたアトムのインデックスは範囲外です。
| |
IllegalOperationError — 行の validity は、TextLineValidity.STATIC です。
|
getAtomTextRotation | () | メソッド |
public function getAtomTextRotation(atomIndex:int):String| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5, Flash Lite 4 |
指定されたインデックス位置にあるアトムの回転を取得します。このプロパティには、TextRotation 定数が使用されます。アトムの回転は、エレメントおよび行の累積された回転です。主に、TextLine を操作するときにキャレット(カーソル)の方向を設定するために使用されます。
パラメーター
atomIndex:int — アトムの 0 から始まるインデックス値です。つまり、最初のアトムは 0、2 番目のアトムは 1 で、以下同様に続きます。
|
String — atomIndex で指定された位置のアトムの回転です。
|
例外
RangeError — 指定されたアトムのインデックスは範囲外です。
| |
IllegalOperationError — 行の validity は、TextLineValidity.STATIC です。
|
関連する API エレメント
getAtomWordBoundaryOnLeft | () | メソッド |
public function getAtomWordBoundaryOnLeft(atomIndex:int):Boolean| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5, Flash Lite 4 |
指定されたインデックス位置にあるアトムの左側に単語境界があるかどうかを示します。単語境界は、行に指定される文字の Unicode プロパティに基づいて決定されます。
パラメーター
atomIndex:int — アトムの 0 から始まるインデックス値です。つまり、最初のアトムは 0、2 番目のアトムは 1 で、以下同様に続きます。
|
Boolean — atomIndex で指定された位置のアトムの左側に単語境界があるかどうかを示すブール値です。
|
例外
RangeError — 指定されたアトムのインデックスは範囲外です。
| |
IllegalOperationError — 行の validity は、TextLineValidity.STATIC です。
|
getBaselinePosition | () | メソッド |
public function getBaselinePosition(baseline:String):Number| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5, Flash Lite 4 |
TextBlock.baselineZero を基準にして、指定されたベースラインの位置を取得します。
パラメーター
baseline:String — 位置を取得するベースラインです。TextBaseline の値を使用します。
|
Number — TextBlock.baselineZero を基準とする、指定されたベースラインの位置です。
|
例外
ArgumentError — 指定された baseline が、TextBaseline のメンバーでない場合。
|
関連する API エレメント
getMirrorRegion | () | メソッド |
public function getMirrorRegion(mirror:EventDispatcher):flash.text.engine:TextLineMirrorRegion| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5, Flash Lite 4 |
mirror パラメーターの指定と mirror プロパティが一致する行の最初の TextLineMirrorRegion を返します。一致しない場合は null を返します。
単一の TextElement でも、双方向および改行の状態によっては 1 行または複数行に対する複数の TextLineMirrorRegion オブジェクトを作成できます。nextRegion および previousRegion プロパティは、1 つのテキストエレメントから生成されたすべてのミラー領域をリンクします。
パラメーター
mirror:EventDispatcher — 検索対象の EventDispatcher ミラーオブジェクトです。
|
flash.text.engine:TextLineMirrorRegion — 指定された値と mirror プロパティが一致する行の最初の TextLineMirrorRegion です。一致しない場合は null になります。
|
関連する API エレメント
MAX_LINE_WIDTH | 定数 |
public static const MAX_LINE_WIDTH:int = 1000000| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5, Flash Lite 4 |
テキスト行の最大要求幅(ピクセル単位)です。 TextBlock.createTextLine() メソッドはこの定数を width パラメーターの値を指定しない場合のデフォルト値として使用します。
関連する API エレメント
getAtomBounds() を使用して、各テキスト行にフレームを作成する手順を表示します。
- NumericStepper コンポーネントをライブラリに追加します。
- このコードを FLA と同じディレクトリに TextLineExample.as という名前で保存します。
- FLA のプロパティウィンドウでクラスを TextLineExample に設定します。
package {
import flash.display.Sprite;
import flash.text.engine.TextBlock;
import flash.text.engine.TextElement;
import flash.text.engine.TextLine;
import flash.text.engine.ElementFormat;
import flash.text.engine.FontDescription;
import flash.text.engine.FontPosture;
import flash.text.engine.FontWeight;
import fl.controls.NumericStepper;
import flash.events.Event;
import flash.geom.Rectangle;
public class TextLineExample extends Sprite {
private var atomStepper:NumericStepper = new NumericStepper();
private var atomDataContainer:Sprite;
private var fontDescriptionItalic:FontDescription = new FontDescription("Arial", FontWeight.NORMAL, FontPosture.ITALIC);
private var fontDescriptionNormal:FontDescription = new FontDescription("Arial", FontWeight.NORMAL , FontPosture.NORMAL);
private var textBlock:TextBlock = new TextBlock();
private var textLine:TextLine;
public function TextLineExample():void {
var myText:String = "I am a TextElement, created from a String and assigned " +
"to the content property of a TextBlock. From the text block, " +
"the createTextLine() method created these lines, 300 pixels wide, " +
"for display." ;
atomStepper.minimum = 0;
atomStepper.value = 0;
atomStepper.width = 50;
addChild(atomStepper);
atomStepper.x = 20;
atomStepper.y = 120;
atomStepper.addEventListener(Event.CHANGE, nsChange);
var directions:String = "Click up / down arrows to frame atoms in text block above.";
var formatItalic:ElementFormat = new ElementFormat(fontDescriptionItalic);
formatItalic.fontSize = 12;
var textElement1:TextElement = new TextElement(directions, formatItalic);
textBlock.content = textElement1;
createLines(textBlock, 15, 160, 400, this);
var formatNormal:ElementFormat = new ElementFormat(fontDescriptionNormal);
formatNormal.fontSize = 16;
var textElement2:TextElement = new TextElement(myText, formatNormal);
textBlock.content = textElement2;
createLines(textBlock, 15.0, 20.0, 300, this);
textLine = textBlock.firstLine;
atomStepper.maximum = textLine.atomCount - 1;
showAtom(textLine, 0);
}
private function nsChange(event:Event):void
{
removeAtom(textLine);
if (atomStepper.value == textLine.atomCount - 1)
{
if(textLine != textBlock.lastLine)
{
textLine = textLine.nextLine;
atomStepper.maximum = textLine.atomCount - 1;
atomStepper.value = 0;
}
}
showAtom(textLine, atomStepper.value);
}
private function createLines(textBlock, startX, startY, width, container)
{
var textLine:TextLine = textBlock.createTextLine (null, width);
while (textLine)
{
textLine.x = startX;
textLine.y = startY;
startY += textLine.height + 2;
container.addChild(textLine);
textLine = textBlock.createTextLine (textLine, width);
}
}
private function showAtom(textLine, i):void
{
var box:Sprite = new Sprite();
var mcGraphics = box.graphics;
var bounds:Rectangle = textLine.getAtomBounds(i);
mcGraphics.lineStyle(1, 0xFF0000, 1.0);
mcGraphics.drawRect(bounds.left, bounds.top, bounds.width, bounds.height);
textLine.userData = textLine.addChild(box);
displayAtomData(textLine,i);
}
private function displayAtomData(textLine, i)
{
if(atomDataContainer != null)
removeChild(atomDataContainer);
atomDataContainer=new Sprite();
var format = new ElementFormat(fontDescriptionNormal);
format.color = 0x00000FF;
var n:int = 0;
var nxtY:Number = 0;
var atomInfo:String = "value of getAtomBidiLevel() is: " + textLine.getAtomBidiLevel(i)+"\n"
+"value of getAtomCenter() is: " + textLine.getAtomCenter(i)+"\n"
+"value of getAtomIndexAtCharIndex() is: " + textLine.getAtomIndexAtCharIndex(i)+"\n"
+"value of getAtomTextBlockBeginIndex() is: " + textLine.getAtomTextBlockBeginIndex(i)+"\n"
+"value of getAtomTextBlockEndIndex() is: " + textLine.getAtomTextBlockEndIndex(i)+"\n"
+"value of getAtomTextRotation() is: " + textLine.getAtomTextRotation(i)+"\n";
var atomtextBlock:TextBlock = new TextBlock();
var textElement3:TextElement = new TextElement(atomInfo, format);
atomtextBlock.content = textElement3;
createLines(atomtextBlock,20,200,500, atomDataContainer)
addChild(atomDataContainer);
}
private function removeAtom(textLine):void
{
textLine.removeChild(textLine.userData);
}
}
}
Tue Jun 12 2018, 10:34 AM Z
継承されるパブリックプロパティを隠す
継承されるパブリックプロパティを表示