複数行のテキストを描画するエンティティ。 文字列内の"\r\n"、"\n"、"\r"を区切りとして改行を行う。 また、自動改行が有効な場合はエンティティの幅に合わせて改行を行う。 本クラスの利用にはg.Fontが必要となる。

Hierarchy

  • CacheableE
    • Label

Constructors

Properties

Accessors

Methods

Constructors

  • 各種パラメータを指定して Label のインスタンスを生成する。

    Parameters

    Returns Label

Properties

_beforeFixLineGap: undefined | boolean
_beforeFont: undefined | Font
_beforeFontSize: undefined | number
_beforeLineBreak: undefined | boolean
_beforeRubyEnabled: undefined | boolean
_beforeRubyOptions: RubyOptions
_beforeText: undefined | string
_beforeTextAlign: undefined | TextAlignString | TextAlign
_beforeTrimMarginTop: undefined | boolean
_beforeWidth: undefined | number
_beforeWidthAutoAdjust: undefined | boolean
_cache: undefined | Surface

このエンティティの内部キャッシュ。

_cacheSize: CommonSize

描画されるキャッシュサイズ。 このサイズは _cache のサイズよりも小さくなる場合がある。

_hasTouchableChildren: boolean

子にtouchableなものが含まれているかどうかを表す。

_lineBreakWidth: number

自動改行を行う幅。 widthAutoAdjust が有効の場合、this.width は値が不定になるため、 代わりに自動改行の幅を定める。 this.width を変更した場合、この値も同じ値に更新される。

_lines: LineInfo[]
_matrix: undefined | Matrix

変換行列のキャッシュ。 Object2D は状態に変更があった時、本値の_modifiedをtrueにする必要がある。 初期値は undefined であり、 getMatrix() によって必要な時に生成されるため、 if (this._matrix) this._matrix._modified = true という式で記述する必要がある。

エンジンに組み込まれているSprite等のエンティティ群は、 すでに本処理を組み込んでいるため通常ゲーム開発者はこの値を意識する必要はない。 Object2D を継承したクラスを新たに作る場合には、本フィールドを適切に操作しなければならない。

_renderedCamera: undefined | Camera

このエンティティを最後に描画した時のCamrera

_renderer: undefined | Renderer
_shouldRenderChildren: boolean

エンジンが子孫を描画すべきであればtrue、でなければfalseを本クラスを継承したクラスがセットする。 デフォルト値はtrueとなる。

anchorX: null | number

オブジェクトのアンカーの横位置。アンカーについては以下の通り。

  • アンカーとして設定した箇所がこのオブジェクトの基点 (位置、拡縮・回転の基点) となる。
  • 単位は相対値 (左上端が (0, 0) 中央が (0.5, 0,5) 右下端が (1,1) ) である。 初期値は 0 である。 ECamera2D においてこの値を変更した場合、 modified() を呼び出す必要がある。

NOTE: anchorX または anchorY のどちらを明示的に null に指定した場合、 このオブジェクトのアンカーは前バージョン(v2.x.x 以前)のデフォルトの挙動 (位置 x, y は左上端を基準に、拡大・縮小・回転の基点は中央を基準に決定) と同様になる。 これは前バージョンとの後方互換性のために存在する。

anchorY: null | number

オブジェクトのアンカーの縦位置。アンカーについては以下の通り。

  • アンカーとして設定した箇所がこのオブジェクトの基点 (位置、拡縮・回転の基点) となる。
  • 単位は相対値 (左上端が (0, 0) 中央が (0.5, 0,5) 右下端が (1,1) ) である。 初期値は 0 である。 ECamera2D においてこの値を変更した場合、 modified() を呼び出す必要がある。

NOTE: anchorX または anchorY のどちらを明示的に null に指定した場合、 このオブジェクトのアンカーは前バージョン(v2.x.x 以前)のデフォルトの挙動 (位置 x, y は左上端を基準に、拡大・縮小・回転の基点は中央を基準に決定) と同様になる。 これは前バージョンとの後方互換性のために存在する。

angle: number

オブジェクトの回転。度数 (時計回り) で指定する。 初期値は 0 である。 ECamera2D においてこの値を変更した場合、 modified() を呼び出す必要がある。

children: undefined | E[]

このエンティティの全子エンティティ。 子エンティティが存在しない場合、本フィールドの値は undefined または空配列である。

compositeOperation: undefined | CompositeOperationString | CompositeOperation

描画時の合成方法を指定する。 初期値は undefined となり、合成方法を指定しないことを意味する。 E においてこの値を変更した場合、 modified() を呼び出す必要がある。

fixLineGap: boolean

ルビを持つ行と持たない行の行間を統一するかどうか。 初期値は偽である。 この値を変更した場合、 this.invalidate() を呼び出す必要がある。

font: Font

描画に利用されるフォント。 この値を変更した場合、 this.invalidate() を呼び出す必要がある。

fontSize: number

フォントサイズ。 0 以上の数値でなければならない。 初期値は this.font.size である。 この値を変更した場合、 this.invalidate() を呼び出す必要がある。

height: number

このオブジェクトの縦幅。 初期値は 0 である。実際の表示領域としてはscaleX, scaleY, angleの値も考慮する必要がある。 ECamera2D においてこの値を変更した場合、 modified() を呼び出す必要がある。

id: number

このエンティティに割り振られる Game 単位で一意のID。(ただし local が真である場合を除く)

lineBreak: boolean

自動改行を行うかどうか。 この値を変更した場合、 this.invalidate() を呼び出す必要がある。

lineBreakRule: undefined | LineBreakRule

禁則処理の挙動を指定する関数。

lineGap: number

行間サイズ。 初期値は0である。 -1 * fontSize 以上の数値でなければならない。 この値を変更した場合、 this.invalidate() を呼び出す必要がある。

local: boolean

このエンティティがローカルであるか否か。 コンストラクタで真が指定された時、または属するシーンがローカルシーンまたはローカルティック補間シーンである時、この値は真である。

この値が真である場合、このエンティティに対する point イベントはこのゲームインスタンスにのみ通知され、 他の参加者・視聴者には通知されない。また真である場合、 id の値の一意性は保証されない。

この値は参照のためにのみ公開されている。ゲーム開発者はこの値を直接変更してはならない。

opacity: number

0~1でオブジェクトの不透明度を表す。 初期値は 1 である。本値が0の場合、Rendererは描画処理を省略する。 E においてこの値を変更した場合、 modified() を呼び出す必要がある。

parent: undefined | Scene | E

親。

rubyEnabled: boolean

ルビを使うかどうか。 初期値は真である。 この値を変更した場合、 this.invalidate() を呼び出す必要がある。

rubyOptions: RubyOptions

ルビのレイアウト設定。 個別のルビに this.rubyOptions の各プロパティと同名のプロパティが存在する場合、個別のルビの設定が優先される。

rubyFontSize: ルビのフォントサイズ。初期値は this.fontSize / 2 である。 rubyFont: ルビのビットマップフォント。初期値は this.font である。 rubyGap: ルビと本文の行間。初期値は0である。 rubyAlign: ルビのレイアウト。初期値は RubyAlign.SpaceAround である。

これらの値を変更した場合、 this.invalidate() を呼び出す必要がある。

rubyParser: RubyParser

ルビを解釈するパーサ。 初期値は DefaultRubyParser.ts で定義している parse() 関数である。 任意の文法でルビを記述する場合、この値に適切な関数を指定する必要がある。 この値を変更した場合、 this.invalidate() を呼び出す必要がある。

scaleX: number

オブジェクトの横方向の倍率。 初期値は 1 である。 ECamera2D においてこの値を変更した場合、 modified() を呼び出す必要がある。

scaleY: number

オブジェクトの縦方向の倍率。 初期値は 1 である。 ECamera2D においてこの値を変更した場合、 modified() を呼び出す必要がある。

scene: Scene

このエンティティが属するシーン。

shaderProgram: undefined | null | ShaderProgram

このエンティティの描画時に利用されるシェーダプログラム。 isSupportedShaderProgram() が偽を返す g.Rendere で描画される時、 g.Renderer#setShaderProgram() は呼ばれないことに注意。

また g.FilledRect やその親エンティティに本値を指定した場合、対象の g.FilledRect の描画結果は不定である。 これは実装上の制限に基づく現バージョンの仕様である。

この値が undefined である場合、親のシェーダプログラムが利用される。 この値が null である場合、明示的にデフォルトのシェーダプログラムが利用される。

この値を変更した場合、 this.modified() を呼び出す必要がある。

state: EntityStateFlags

様々な状態を表すビットフラグ。

tag: any

ゲーム開発者向けのタグ情報管理コンテナ。 この値はゲームエンジンのロジックからは使用されず、ゲーム開発者は任意の目的に使用してよい。

text: string

描画する文字列。 この値を変更した場合、 this.invalidate() を呼び出す必要がある。

textAlign: TextAlignString | TextAlign

文字列の描画位置。 初期値は "left" である。 この値を変更した場合、 this.invalidate() を呼び出す必要がある。

textColor: undefined | string

文字列の描画色をCSS Color形式で指定する。 元の描画色に重ねて表示されるため、アルファ値を指定した場合は元の描画色が透けて表示される。 初期値は undefined となり、 描画色の変更を行わない。 この値を変更した場合、 this.invalidate() を呼び出す必要がある。

trimMarginTop: boolean

フォントの上端にある余白を描画するかどうか。 真の場合、文字の描画内容が崩れない範囲で余白を詰めて描画される。 初期値は偽である。 この値を変更した場合、 this.invalidate() を呼び出す必要がある。

width: number

このオブジェクトの横幅。 初期値は 0 である。実際の表示領域としてはscaleX, scaleY, angleの値も考慮する必要がある。 ECamera2D においてこの値を変更した場合、 modified() を呼び出す必要がある。

widthAutoAdjust: boolean

width プロパティを this.text の描画に必要な幅の値に自動的に更新するかを表す。 width プロパティの更新は this.invalidate() を呼び出した後のタイミングで行われる。 textAlign"left" 以外にする場合、この値は false にすべきである。 textAlign"left" 以外かつ、 この値が true の場合、描画内容は不定である。 初期値は偽である。 この値を変更した場合、 this.invalidate() を呼び出す必要がある。

x: number

このオブジェクトの横位置。 初期値は 0 である。実際の座標位置はscaleX, scaleY, angle, anchorX, anchorYの値も考慮する必要がある。 ECamera2D においてこの値を変更した場合、 modified() を呼び出す必要がある。

y: number

このオブジェクトの縦位置。 初期値は 0 である。実際の座標位置はscaleX, scaleY, angle, anchorX, anchorYの値も考慮する必要がある。 ECamera2D においてこの値を変更した場合、 modified() を呼び出す必要がある。

PADDING: number

_cache のパディングサイズ。

Accessors

  • get lineCount(): number
  • 描画内容の行数を返す

    Returns number

  • get message(): Trigger<MessageEvent>
  • このエンティティのmessageイベント。

    Deprecated

    非推奨である。将来的に削除される。代わりに onMessage を利用すること。

    Returns Trigger<MessageEvent>

  • get onMessage(): Trigger<MessageEvent>
  • このエンティティのmessageイベント。

    Returns Trigger<MessageEvent>

  • get onPointDown(): Trigger<PointDownEvent>
  • このエンティティのpoint downイベント。

    Returns Trigger<PointDownEvent>

  • get onPointMove(): Trigger<PointMoveEvent>
  • このエンティティのpoint moveイベント。

    Returns Trigger<PointMoveEvent>

  • get onPointUp(): Trigger<PointUpEvent>
  • このエンティティのpoint upイベント。

    Returns Trigger<PointUpEvent>

  • get onUpdate(): Trigger<void>
  • 時間経過イベント。本イベントの一度のfireにつき、常に1フレーム分の時間経過が起こる。

    Returns Trigger<void>

  • get pointDown(): Trigger<PointDownEvent>
  • このエンティティのpoint downイベント。

    Deprecated

    非推奨である。将来的に削除される。代わりに onPointDown を利用すること。

    Returns Trigger<PointDownEvent>

  • get pointMove(): Trigger<PointMoveEvent>
  • このエンティティのpoint moveイベント。

    Deprecated

    非推奨である。将来的に削除される。代わりに onPointMove を利用すること。

    Returns Trigger<PointMoveEvent>

  • get pointUp(): Trigger<PointUpEvent>
  • このエンティティのpoint upイベント。

    Deprecated

    非推奨である。将来的に削除される。代わりに onPointUp を利用すること。

    Returns Trigger<PointUpEvent>

  • get touchable(): boolean
  • プレイヤーにとって触れられるオブジェクトであるかを表す。

    この値が偽である場合、ポインティングイベントの対象にならない。 初期値は false である。

    E の他のプロパティと異なり、この値の変更後に this.modified() を呼び出す必要はない。

    Returns boolean

  • set touchable(v: boolean): void
  • Parameters

    • v: boolean

    Returns void

  • get update(): Trigger<void>
  • 時間経過イベント。本イベントの一度のfireにつき、常に1フレーム分の時間経過が起こる。

    Deprecated

    非推奨である。将来的に削除される。代わりに onUpdate を利用すること。

    Returns Trigger<void>

Methods

  • Parameters

    • state: LineDividingState
    • fragments: Fragment[]
    • index: number

    Returns void

  • stateのcurrent系プロパティを禁則処理的に正しい構造に再構築する

    Parameters

    • state: LineDividingState
    • fragments: Fragment[]
    • index: number

    Returns void

  • Parameters

    • font: undefined | Font

    Returns number

  • Private

    Parameters

    • Optional m: Matrix

    Returns undefined | CommonRect

  • Private

    このエンティティの座標系を、指定された祖先エンティティ (またはシーン) の座標系に変換する行列を求める。

    指定されたエンティティが、このエンティティの祖先でない時、その値は無視される。 指定されたシーンが、このエンティティの属するシーン出ない時、その値は無視される。

    Parameters

    • Optional target: Scene | E

      座標系の変換先エンティティまたはシーン。省略した場合、このエンティティの属するシーン(グローバル座標系への変換行列になる)

    Returns Matrix

  • Parameters

    • code: number
    • font: Font

    Returns null | Glyph

  • Parameters

    • text: string
    • font: undefined | Font

    Returns Glyph[]

  • Returns void

  • Private

    Returns void

  • Parameters

    Returns void

  • Parameters

    Returns void

  • Parameters

    • renderer: Renderer
    • font: Font
    • glyphs: Glyph[]
    • fontSize: number
    • offsetX: number
    • offsetY: number
    • margin: number = 0

    Returns void

  • Private

    Returns void

  • Parameters

    • state: LineDividingState

    Returns void

  • Private

    このエンティティと与えられたエンティティの共通祖先のうち、もっとも子孫側にあるものを探す。 共通祖先がない場合、 undefined を返す。

    Parameters

    • target: E

      このエンティティとの共通祖先を探すエンティティ

    Returns undefined | Scene | E

  • Parameters

    • state: LineDividingState

    Returns void

  • Returns void

  • Private

    Parameters

    • e: PointEvent

    Returns boolean

  • Parameters

    • state: LineDividingState
    • width: number

    Returns boolean

  • Parameters

    • width: number

    Returns number

  • Returns void

  • Private

    公開のプロパティから内部の変換行列キャッシュを更新する。

    Returns void

  • オブジェクトのアンカーの位置を設定する。 このメソッドは anchorXanchorY を同時に設定するためのユーティリティメソッドである。 ECamera2D においてこのメソッドを呼び出した場合、 modified() を呼び出す必要がある。

    Parameters

    • x: number
    • y: number

    Returns void

  • 子を追加する。

    Parameters

    • e: E

      子エンティティとして追加するエンティティ

    Returns void

  • このEの包含矩形を計算する。

    Returns undefined | CommonRect

  • 禁則処理によって行幅が this.width を超える場合があるため、 g.CacheableE のメソッドをオーバーライドする

    Returns CommonSize

  • 利用している g.Surface を破棄した上で、このエンティティを破棄する。 利用している g.Font の破棄は行わないため、 g.Font の破棄はコンテンツ製作者が明示的に行う必要がある。

    Returns void

  • このエンティティが破棄済みであるかを返す。

    Returns boolean

  • 自身と自身の子孫の中で、その座標に反応する PointSource を返す。

    戻り値は、対象が見つかった場合、 target に見つかったエンティティを持つ PointSource である。 対象が見つからなかった場合、 undefined である。戻り値が undefined でない場合、その target プロパティは次を満たす:

    • このエンティティ(this) またはその子孫である
    • E#touchable が真である

    Parameters

    • point: CommonOffset

      対象の座標

    • Optional m: Matrix

      this に適用する変換行列。省略された場合、単位行列

    • Optional force: boolean

      touchable指定を無視する場合真を指定する。省略された場合、偽

    Returns undefined | PointSource

  • このエンティティが属する Game を返す。

    Returns Game

  • このオブジェクトの変換行列を得る。

    Returns Matrix

  • ゲームの左上端を基準とした座標をこのEの位置を基準とした相対座標に変換する。

    Parameters

    • offset: CommonOffset

      ゲームの左上端を基準とした座標

    Returns CommonOffset

  • このEを非表示状態にする。

    this.show() が呼ばれるまでの間、このエンティティは各 Renderer によって描画されない。 また Game#findPointSource() で返されることもなくなる。 this#pointDown, pointMove, pointUp なども通常の方法ではfireされなくなる。

    Returns void

  • 子を挿入する。

    targetthis の子でない場合、append(e) と同じ動作となる。

    Parameters

    • e: E

      子エンティティとして追加するエンティティ

    • target: undefined | E

      挿入位置にある子エンティティ

    Returns void

  • このエンティティの描画キャッシュ無効化をエンジンに通知する。 このメソッドを呼び出し後、描画キャッシュの再構築が行われ、各 g.Renderer に描画内容の変更が反映される。

    Returns void

  • このEの位置を基準とした相対座標をゲームの左上端を基準とした座標に変換する。

    Parameters

    • offset: CommonOffset

      Eの位置を基準とした相対座標

    Returns CommonOffset

  • このエンティティに対する変更をエンジンに通知する。

    このメソッドの呼び出し後、 this に対する変更が各 Renderer の描画に反映される。 ただし逆は真ではない。すなわち、再描画は他の要因によって行われることもある。 ゲーム開発者は、このメソッドを呼び出していないことをもって再描画が行われていないことを仮定してはならない。

    本メソッドは、このオブジェクトの Object2D 由来のプロパティ (x, y, angle など) を変更した場合にも呼びだす必要がある。 本メソッドは、描画キャッシュの無効化処理を含まない。描画キャッシュを持つエンティティは、このメソッドとは別に invalidate() を提供している。 描画キャッシュの無効化も必要な場合は、このメソッドではなくそちらを呼び出す必要がある。

    Parameters

    • Optional _isBubbling: boolean

    Returns void

  • オブジェクトを相対的に移動する。 このメソッドは xy を同時に加算するためのユーティリティメソッドである。 ECamera2D においてこのメソッドを呼び出した場合、 modified() を呼び出す必要がある。

    Parameters

    • x: number

      X座標に加算する値

    • y: number

      Y座標に加算する値

    Returns void

  • オブジェクトを移動する。 このメソッドは xy を同時に設定するためのユーティリティメソッドである。 ECamera2D においてこのメソッドを呼び出した場合、 modified() を呼び出す必要がある。

    Parameters

    • x: number

      X座標

    • y: number

      Y座標

    Returns void

  • オブジェクトを移動する。 このメソッドは xy を同時に設定するためのユーティリティメソッドである。 ECamera2D においてこのメソッドを呼び出した場合、 modified() を呼び出す必要がある。

    Parameters

    • obj: CommonOffset

      X,Y座標

    Returns void

  • 子を削除する。

    ethis の子でない場合、 AssertionError がthrowされる。 e === undefined であり親がない場合、 AssertionError がthrowされる。

    Parameters

    • Optional e: E

      削除する子エンティティ。省略された場合、自身を親から削除する

    Returns void

  • 自分自身と子孫の内容を描画する。

    このメソッドは、 Renderer#draw() からエンティティのツリー構造をトラバースする過程で暗黙に呼び出される。 通常、ゲーム開発者がこのメソッドを呼び出す必要はない。

    Parameters

    • renderer: Renderer

      描画先に対するRenderer

    • Optional camera: Camera

      対象のカメラ。省略された場合、undefined

    Returns void

  • Parameters

    • renderer: Renderer

    Returns void

  • このエンティティ自身の描画を行う。 このメソッドはエンジンから暗黙に呼び出され、ゲーム開発者が呼び出す必要はない。

    Parameters

    • renderer: Renderer
    • Optional camera: Camera

    Returns boolean

  • 内部キャッシュから自身の描画を行う。 このメソッドはエンジンから暗黙に呼び出され、ゲーム開発者が呼び出す必要はない。

    Parameters

    • renderer: Renderer

    Returns void

  • オブジェクトのサイズを相対的に変更する。 このメソッドは widthheight を同時に加算するためのユーティリティメソッドである。 ECamera2D においてこのメソッドを呼び出した場合、 modified() を呼び出す必要がある。

    Parameters

    • width: number

      加算する幅

    • height: number

      加算する高さ

    Returns void

  • オブジェクトのサイズを設定する。 このメソッドは widthheight を同時に設定するためのユーティリティメソッドである。 ECamera2D においてこのメソッドを呼び出した場合、 modified() を呼び出す必要がある。

    Parameters

    • width: number

    • height: number

      高さ

    Returns void

  • オブジェクトのサイズを設定する。 このメソッドは widthheight を同時に設定するためのユーティリティメソッドである。 ECamera2D においてこのメソッドを呼び出した場合、 modified() を呼び出す必要がある。

    Parameters

    • size: CommonSize

      幅と高さ

    Returns void

  • オブジェクトの拡大率を設定する。 このメソッドは scaleXscaleY に同じ値を同時に設定するためのユーティリティメソッドである。 ECamera2D においてこのメソッドを呼び出した場合、 modified() を呼び出す必要がある。

    Parameters

    • scale: number

      拡大率

    Returns void

  • このメソッドは、 E#findPointSourceByPoint() 内で子孫の探索をスキップすべきか判断するために呼ばれる。 通常、子孫の描画方法をカスタマイズする一部のサブクラスにおいて、与えられた座標に対する子孫の探索を制御する場合に利用する。 ゲーム開発者がこのメソッドを呼び出す必要はない。

    戻り値は、子孫の探索をスキップすべきであれば偽、でなければ真である。

    Parameters

    • _point: CommonOffset

    Returns boolean

  • このEを表示状態にする。

    this.hide() によって非表示状態にされたエンティティを表示状態に戻す。 生成直後のエンティティは表示状態であり、 hide() を呼び出さない限りこのメソッドを呼び出す必要はない。

    Returns void

  • このEが表示状態であるかどうかを返す。

    Returns boolean

Generated using TypeDoc