LogDisplay

ログディスプレイ (LogDisplay) は、任意の数の TextLog を表示するためのスクロール表示機能を提供します。

Summary
LogDisplayログディスプレイ (LogDisplay) は、任意の数の TextLog を表示するためのスクロール表示機能を提供します。
実装の詳細ログディスプレイは、ログエントリをゲーム内で視覚的に見えるよう表示するため、 TextLog 要素と組み合わせて動作します。
XML定義
XMLタグ
任意属性
font使用するフォント定義の名前。
scrollbarテキストがウィンドウの縦幅からはみ出る場合に使う垂直スクロールバーの名前。
scrollbarPosition垂直スクロールバーの位置を設定します。
background背景として使用するフルリサイズイメージの名前。
linespacingログディスプレイの行間。
maxchars表示可能な最大文字数。
maxentries表示されるそれぞれのテキストログの最大エントリ行数を設定します。
textFadeTime新しいエントリが追加された後に、画面上にテキストが残る時間を設定します。
autoHideScrollBar現在のログディスプレイのコンテンツがウィンドウ1ページ以内に収まる時、スクロールバーを自動的に隠します。
関数
関数
LogDisplayAddLog()ログディスプレイに指定のテキストログを追加します。
LogDisplayRemoveLog()ログディスプレイから指定のテキストログを削除します。
LogSetLimit()ログディスプレイに表示する最大エントリ数を設定します。
LogDisplaySetShowTimestamp()それぞれのエントリの頭にタイムスタンプを表示するかどうかを設定します。
LogDisplayGetShowTimestamp()現在、それぞれのエントリの頭にタイムスタンプが表示されているかどうかを調べて値を返します。
LogDisplaySetShowLogName()それぞれのエントリの頭にテキストログ名を表示するかどうかを設定します。
LogDisplayGetShowLogName()現在、それぞれのエントリの頭にテキストログ名が表示されているかどうかを調べて値を返します。
LogDisplaySetShowFilterName()それぞれのエントリの頭にフィルタタイプ名を表示するかどうかを設定します。
LogDisplayGetShowFilterName()現在、それぞれのエントリの頭にフィルタタイプ名が表示されているかどうかを調べて値を返します。
LogDisplaySetFilterColor()指定したテキストログ、フィルタタイプが使う色を設定します。
LogDisplayGetFilterColor()指定したテキストログ、フィルタタイプが現在使用している色を返します。
LogDisplaySetFilterState()指定したテキストログで指定したフィルタタイプを表示するかどうかを設定します。
LogDisplayGetFilterState()指定したテキストログで指定したフィルタタイプが現在表示されているのかどうかを調べて値を返します。
LogDisplayHideFilterSubType()フィルタサブタイプを表示するかどうかを設定します。
LogDisplaySetTextFadeTime()テキストをフェードアウトさせるまでの表示時間を設定します。0を設定するとフェードアウトしません。
LogDisplayGetTextFadeTime()現在の、テキストをフェードアウトさせるまでの表示時間を返します。
LogDisplayIsScrollbarActive()この表示に対してスクロールバーが必要とされているかどうかを返します。
LogDisplaySetFont()ログディスプレイに表示されるテキストが使用するフォントの名前を設定します。
LogDisplayGetFont()ログディスプレイに表示されるテキストが使用しているフォントの名前を返します。
LogDisplayScrollToBottom()表示を最下部までスクロールさせます。
LogDisplayIsScrolledToBottom()表示が最下部までスクロールされたかどうかを調べて値を返します。
LogDisplayResetLineFadeTime()全てのテキスト行をフェードアウトさせるまでの時間をリセットします。
LogDisplayShowScrollbar()スクロールバーを表示するかしないかを設定します。
LogDisplayScrollToTop()表示を最上部までスクロールさせます。
LogDisplayIsScrolledToTop()表示が最上部までスクロールされたかどうかを調べて値を返します。

実装の詳細

ログディスプレイは、ログエントリをゲーム内で視覚的に見えるよう表示するため、 TextLog 要素と組み合わせて動作します。

標準機能

テキストログディスプレイでできることは次の通りです……

  • エントリタイプ毎に独立した色を指定する。
  • 表示、非表示のフィルタを任意に選択する。
  • 一つのウィンドウに複数の TextLog を表示する。エントリはタイムスタンプ順にソートされます。

その時点での全てのテキストをレンダリングしたものを作成する ScrollWindowPageWindow コントロールと異なり、ログディスプレイはウィンドウ上であなたが目にしている部分のテキストのみをレンダリングします。内部的には、テキストログ表示はウィンドウのフォントサイズとウィンドウサイズに応じて、それぞれのエントリの行を解析します。

特殊機能

エントリの数に合わせてスクロールバーが自動的に作成され、更新されます。また、ログディスプレイは、新しい発言で更新されるテキストウィンドウで使用できるいくつかの特別な機能を持っています。以下はその一例です:

  • 新しいエントリが追加された時に、一番下まで自動的にスクロールする。
  • 特定の時間表示した後に、テキスト行を自動的にフェードアウトする。

XML定義

Summary
XMLタグ
任意属性
font使用するフォント定義の名前。
scrollbarテキストがウィンドウの縦幅からはみ出る場合に使う垂直スクロールバーの名前。
scrollbarPosition垂直スクロールバーの位置を設定します。
background背景として使用するフルリサイズイメージの名前。
linespacingログディスプレイの行間。
maxchars表示可能な最大文字数。
maxentries表示されるそれぞれのテキストログの最大エントリ行数を設定します。
textFadeTime新しいエントリが追加された後に、画面上にテキストが残る時間を設定します。
autoHideScrollBar現在のログディスプレイのコンテンツがウィンドウ1ページ以内に収まる時、スクロールバーを自動的に隠します。

XMLタグ

<LogDisplay>
....
</LogDisplay>

代替グループ

任意属性

font

使用するフォント定義の名前。

データ型

string有効な Font の名前。

scrollbar

テキストがウィンドウの縦幅からはみ出る場合に使う垂直スクロールバーの名前。

データ型

string有効な VerticalScrollbar の名前。

デフォルト値

  • ””

メモ

  • Scrollbarは現在エディットボックスに対しては正常に動作しません。

scrollbarPosition

垂直スクロールバーの位置を設定します。

データ型

stringVerticalScrollbar の位置 (“top”, “bottom”)。

デフォルト値

  • ””

background

背景として使用するフルリサイズイメージの名前。

データ型

stringFullResizeImage の名前。

デフォルト値

  • ””

linespacing

ログディスプレイの行間。

データ型

integer0の場合は、フォントの縦幅を使用します。

デフォルト値

  • 0

maxchars

表示可能な最大文字数。

データ型

integer0より大きな数値。

デフォルト値

  • 255

maxentries

表示されるそれぞれのテキストログの最大エントリ行数を設定します。

データ型

integer0より大きな数値。

デフォルト値

  • 200

メモ

LogSetLimit を用いて、後で調整することができます。

textFadeTime

新しいエントリが追加された後に、画面上にテキストが残る時間を設定します。

データ型

float_t0の場合、テキストはフェードアウトしません。

デフォルト値

  • 0

メモ

ログディスプレイが最下部までスクロールされたときにのみ、テキストはフェードアウトします。

autoHideScrollBar

現在のログディスプレイのコンテンツがウィンドウ1ページ以内に収まる時、スクロールバーを自動的に隠します。

データ型

boolean

true自動的に隠す。
false隠さない。

デフォルト値

  • false

関数

Summary
関数
LogDisplayAddLog()ログディスプレイに指定のテキストログを追加します。
LogDisplayRemoveLog()ログディスプレイから指定のテキストログを削除します。
LogSetLimit()ログディスプレイに表示する最大エントリ数を設定します。
LogDisplaySetShowTimestamp()それぞれのエントリの頭にタイムスタンプを表示するかどうかを設定します。
LogDisplayGetShowTimestamp()現在、それぞれのエントリの頭にタイムスタンプが表示されているかどうかを調べて値を返します。
LogDisplaySetShowLogName()それぞれのエントリの頭にテキストログ名を表示するかどうかを設定します。
LogDisplayGetShowLogName()現在、それぞれのエントリの頭にテキストログ名が表示されているかどうかを調べて値を返します。
LogDisplaySetShowFilterName()それぞれのエントリの頭にフィルタタイプ名を表示するかどうかを設定します。
LogDisplayGetShowFilterName()現在、それぞれのエントリの頭にフィルタタイプ名が表示されているかどうかを調べて値を返します。
LogDisplaySetFilterColor()指定したテキストログ、フィルタタイプが使う色を設定します。
LogDisplayGetFilterColor()指定したテキストログ、フィルタタイプが現在使用している色を返します。
LogDisplaySetFilterState()指定したテキストログで指定したフィルタタイプを表示するかどうかを設定します。
LogDisplayGetFilterState()指定したテキストログで指定したフィルタタイプが現在表示されているのかどうかを調べて値を返します。
LogDisplayHideFilterSubType()フィルタサブタイプを表示するかどうかを設定します。
LogDisplaySetTextFadeTime()テキストをフェードアウトさせるまでの表示時間を設定します。0を設定するとフェードアウトしません。
LogDisplayGetTextFadeTime()現在の、テキストをフェードアウトさせるまでの表示時間を返します。
LogDisplayIsScrollbarActive()この表示に対してスクロールバーが必要とされているかどうかを返します。
LogDisplaySetFont()ログディスプレイに表示されるテキストが使用するフォントの名前を設定します。
LogDisplayGetFont()ログディスプレイに表示されるテキストが使用しているフォントの名前を返します。
LogDisplayScrollToBottom()表示を最下部までスクロールさせます。
LogDisplayIsScrolledToBottom()表示が最下部までスクロールされたかどうかを調べて値を返します。
LogDisplayResetLineFadeTime()全てのテキスト行をフェードアウトさせるまでの時間をリセットします。
LogDisplayShowScrollbar()スクロールバーを表示するかしないかを設定します。
LogDisplayScrollToTop()表示を最上部までスクロールさせます。
LogDisplayIsScrolledToTop()表示が最上部までスクロールされたかどうかを調べて値を返します。

関数

LogDisplayAddLog()

ログディスプレイに指定のテキストログを追加します。

パラメータ

logDisplayName(string) ログディスプレイの名前。
textLogName(string) TextLog の名前。
addEntries(boolean) すでにログにあるエントリを追加で表示するか否か?

戻り値

nil戻り値無し。

メモ

  • ”addEntries = false” でこの関数を呼ぶ場合、テキストログの新しいエントリのみが表示されます。

LogDisplayAddLog("ChatWindowChatLogDisplay", "Chat", true)

LogDisplayRemoveLog()

ログディスプレイから指定のテキストログを削除します。

パラメータ

logDisplayName(string) ログディスプレイの名前。
logName(string) TextLog の名前。

戻り値

nil戻り値無し。

LogDisplayRemoveLog("ChatWindowChatLogDisplay", "Chat" )

LogSetLimit()

ログディスプレイに表示する最大エントリ数を設定します。

パラメータ

logDisplayName(string) ログディスプレイの名前。
limit(integer) 表示する最大エントリ数。マイナスの値は「制限なし」の指定になります。

戻り値

nil戻り値無し。

LogSetLimit("ChatWindowChatLogDisplay", 1000)

LogDisplaySetShowTimestamp()

それぞれのエントリの頭にタイムスタンプを表示するかどうかを設定します。

パラメータ

logDisplayName(string) ログディスプレイの名前。
showTimestamp(boolean) true = タイムスタンプを表示する, false = 表示しない

戻り値

nil戻り値無し。

LogDisplaySetShowTimestamp("ChatWindowChatLogDisplay", false )

LogDisplayGetShowTimestamp()

現在、それぞれのエントリの頭にタイムスタンプが表示されているかどうかを調べて値を返します。

パラメータ

logDisplayName(string) ログディスプレイの名前。

戻り値

showTimestamp(boolean) true = 表示されている, false = 表示されていない

local showTimestamp = LogDisplayGetShowTimestamp("ChatWindowChatLogDisplay"  )

LogDisplaySetShowLogName()

それぞれのエントリの頭にテキストログ名を表示するかどうかを設定します。

パラメータ

logDisplayName(string) ログディスプレイの名前。
showLogName(boolean) true = TextLog 名を表示する, false = 表示しない

戻り値

nil戻り値無し。

LogDisplaySetShowLogName("ChatWindowChatLogDisplay", false )

LogDisplayGetShowLogName()

現在、それぞれのエントリの頭にテキストログ名が表示されているかどうかを調べて値を返します。

パラメータ

logDisplayName(string) ログディスプレイの名前。

戻り値

showLogName(boolean) true = TextLog 名が表示されている, false = 表示されていない

local showLogName = LogDisplayGetShowLogName("ChatWindowChatLogDisplay" )

LogDisplaySetShowFilterName()

それぞれのエントリの頭にフィルタタイプ名を表示するかどうかを設定します。

パラメータ

logDisplayName(string) ログディスプレイの名前。
showFilterName(boolean) true = フィルタタイプ名を表示する, false = 表示しない

戻り値

nil戻り値無し。

LogDisplaySetShowFilterName("ChatWindowChatLogDisplay", true )

LogDisplayGetShowFilterName()

現在、それぞれのエントリの頭にフィルタタイプ名が表示されているかどうかを調べて値を返します。

パラメータ

logDisplayName(string) ログディスプレイの名前。

戻り値

showFilterName(boolean) true = 表示されている, false = 表示されていない

local showFilterName = LogDisplayGetShowFilterName("ChatWindowChatLogDisplay" )

LogDisplaySetFilterColor()

指定したテキストログ、フィルタタイプが使う色を設定します。

パラメータ

logDisplayName(string) ログディスプレイの名前。
textLogName(string) TextLog の名前。
filterId(integer) テキストログに含まれるフィルタID。
red(integer) テキストカラーの赤値 (0-255)
green(integer) テキストカラーの緑値 (0-255)
blue(integer) テキストカラーの青値 (0-255)

戻り値

nil戻り値無し。

LogDisplaySetFilterColor("ChatWindowChatLogDisplay", SystemData.ChatLogFilters.SAY, 255, 255, 255 )

LogDisplayGetFilterColor()

指定したテキストログ、フィルタタイプが現在使用している色を返します。

パラメータ

logDisplayName(string) ログディスプレイの名前。
textLogName(string) TextLog の名前。
filterId(integer) テキストログに含まれるフィルタID。

戻り値

red(integer) テキストカラーの赤値 (0-255)
green(integer) テキストカラーの緑値 (0-255)
blue(integer) テキストカラーの青値 (0-255)

LogDisplayGetFilterColor("ChatWindowChatLogDisplay", SystemData.ChatLogFilters.SAY, 255, 255, 255 )

LogDisplaySetFilterState()

指定したテキストログで指定したフィルタタイプを表示するかどうかを設定します。

パラメータ

logDisplayName(string) ログディスプレイの名前。
textLogName(string) TextLog の名前。
filterId(integer) テキストログに含まれるフィルタID。
showFilterType(boolean) true = フィルタタイプを表示する, false = 表示しない

戻り値

nil戻り値無し。

LogDisplaySetFilterState("ChatWindowChatLogDisplay", SystemData.ChatLogFilters.SAY, true )

LogDisplayGetFilterState()

指定したテキストログで指定したフィルタタイプが現在表示されているのかどうかを調べて値を返します。

パラメータ

logDisplayName(string) ログディスプレイの名前。
textLogName(string) TextLog の名前。
filterId(integer) テキストログに含まれるフィルタID。

戻り値

showFilterType(boolean) true = フィルタタイプが表示されている, false = 表示されていない

local isDisplayed = LogDisplayGetFilterState("ChatWindowChatLogDisplay", SystemData.ChatLogFilters.SAY )

LogDisplayHideFilterSubType()

フィルタサブタイプを表示するかどうかを設定します。

パラメータ

logDisplayName(string) ログディスプレイの名前。
textLogName(string) TextLog の名前。
filterId(integer) テキストログに含まれるフィルタID。
showFilterType(boolean) フィルタタイプを表示するか否か?
filterSubTypeName(string) フィルタサブタイプの名前。
hideSubType(boolean) サブタイプを表示するか否か?

戻り値

nil戻り値無し。

メモ

  • 現在、ゲームは内部的に各エントリに対してフィルタサブタイプを設定することができます。通常、テキストログがチャットログに使用されているとき、「サブタイプネーム」はテキストが関連付けられている人物の名前を指します。

LogDisplayHideFilterSubType( "ChatWindowChatLogDisplay", "Chat", SystemData.ChatLogFilters.TELL_RECEIVE, name, true )

LogDisplaySetTextFadeTime()

テキストをフェードアウトさせるまでの表示時間を設定します。0を設定するとフェードアウトしません。

パラメータ

logDisplayName(string) ログディスプレイの名前。
textDisplayTime(integer) フェードアウト開始までの表示時間。

戻り値

nil戻り値無し。

関連するXML

LogDisplaySetTextFadeTime( "ChatWindowChatLogDisplay", visibleTime )

LogDisplayGetTextFadeTime()

現在の、テキストをフェードアウトさせるまでの表示時間を返します。

パラメータ

logDisplayName(string) ログディスプレイの名前。

戻り値

textDisplayTime(integer) 現在のフェードアウト開始までの表示時間。

関連するXML

local fadeTime = LogDisplayGetTextFadeTime( "ChatWindowChatLogDisplay" )

LogDisplayIsScrollbarActive()

この表示に対してスクロールバーが必要とされているかどうかを返します。

スクロールバーをアクティブにしなければならないかどうかは、スクロールしなければ見えない範囲があるかどうかで確認します。

パラメータ

logDisplayName(string) ログディスプレイの名前。

戻り値

booleantrue = スクロールバーが必要, false = 不要

local bScrollbarNeeded = LogDisplayIsScrollbarActive( "ChatWindowChatLogDisplay" )

LogDisplaySetFont()

ログディスプレイに表示されるテキストが使用するフォントの名前を設定します。

パラメータ

logDisplayName(string) ログディスプレイの名前。
fontName(string) 使用するフォントの名前。

戻り値

nil戻り値無し。

関連するXML

LogDisplaySetFont( "ChatWindowChatLogDisplay", "font_default_text" )

LogDisplayGetFont()

ログディスプレイに表示されるテキストが使用しているフォントの名前を返します。

パラメータ

logDisplayName(string) ログディスプレイの名前。

戻り値

fontName(string) 使用されているフォントの名前。

関連するXML

local font = LogDisplayGetFont( "ChatWindowChatLogDisplay" )

LogDisplayScrollToBottom()

表示を最下部までスクロールさせます。

パラメータ

logDisplayName(string) ログディスプレイの名前。

戻り値

nil戻り値無し。

LogDisplayScrollToBottom( "ChatWindowChatLogDisplay" )

LogDisplayIsScrolledToBottom()

表示が最下部までスクロールされたかどうかを調べて値を返します。

パラメータ

logDisplayName(string) ログディスプレイの名前。

戻り値

atBottom(boolean) true = 最下部までスクロールされた, false = されていない

local scrolledDown =  LogDisplayIsScrolledToBottom( "ChatWindowChatLogDisplay" )

LogDisplayResetLineFadeTime()

全てのテキスト行をフェードアウトさせるまでの時間をリセットします。

パラメータ

logDisplayName(string) ログディスプレイの名前。

戻り値

nil戻り値無し。

LogDisplayResetLineFadeTime( "ChatWindowChatLogDisplay" )

LogDisplayShowScrollbar()

スクロールバーを表示するかしないかを設定します。

パラメータ

logDisplayName(string) ログディスプレイの名前。
showBar(boolean) true = スクロールバーを表示する, false = 表示しない

戻り値

nil戻り値無し。

LogDisplayShowScrollbar( "ChatWindowChatLogDisplay", true )

LogDisplayScrollToTop()

表示を最上部までスクロールさせます。

パラメータ

logDisplayName(string) ログディスプレイの名前。

戻り値

nil戻り値無し。

LogDisplayScrollToTop( "ChatWindowChatLogDisplay" )

LogDisplayIsScrolledToTop()

表示が最上部までスクロールされたかどうかを調べて値を返します。

パラメータ

logDisplayName(string) ログディスプレイの名前。

戻り値

atTop(boolean) true = 最上部までスクロールされた, false = されていない

local scrolledDown =  LogDisplayIsScrolledToTop( "ChatWindowChatLogDisplay" )
テキストログ (TextLog) 関数を使用すれば、ログウィンドウにメッセージを表示したり、ログファイルを出力したりすることができます。
スクロールウィンドウ (ScrollWindow) は、全ての子ウィンドウに垂直方向のスクロールパネルを提供するコンテナウィンドウです。
ページウィンドウ (PageWindow) は本のようなレイアウトを作成して自動で表示する手段を提供します。
ウィンドウ (Window) 要素はウィンドウを作成する際に使用する基本的な要素です。他のウィンドウ要素もこの要素の内容を継承しており、全ての属性、要素、データメンバー、関数をサポートしています。
フォントを定義します。
垂直スクロールバー (VerticalScrollbar) は、Windowsスタイルのスクロールバーを提供します。このウィンドウ要素は、自動的に他のいくつかのウィンドウコンポーネントを組み合わせたものです。
フルリサイズイメージ (FullResizeImage) 要素を使うことで、背景やフレームを作る際のタイル画像を自動的に作ることができます。
ログディスプレイに表示する最大エントリ数を設定します。
新しいエントリが追加された後に、画面上にテキストが残る時間を設定します。
使用するフォント定義の名前。
Close