[前へ] [目次へ] [次へ]

BasicQuestAlternateGhostEvent (script/fgs/basic_quest.fges)


このクラスはイベントと同じ見た目のウィンドウを扱うクラスです。
このクラスはイベント演出処理の実装を簡易化するためのものですが、
画面上に表示されるものはウィンドウであるため、
タイルマップレイヤーではなくウィンドウレイヤー上で表示されます。
演出の内容によっては他のマップチップ、イベント、影などとの描画順が問題になる場合があります。
そのような場合は EventTransfer クラスによる制御も検討してください。
EventTransfer クラスは回転や大きさの変更はできませんが、タイルマップレイヤー上で描画できます。

このクラスは BasicQuestGhostEvent と異なり、イベントとすり替わることを前提としたクラスです。
連動設定したイベントを非表示にし、代わりにこのオブジェクトのウィンドウを表示します。
さらにこのウィンドウは連動しているイベントの表示位置を追跡します。
また、連動を解除する際にイベントの表示状態は復元されます。

●継承/注入

   extends BasicQuestGhostEvent_Base

●インターフェイスとインターフェイスメソッド

   extends INativeWindow
   extends IAnimatePosition
   extends IWaitSignal


●クラスメソッド

   このクラスはクラスメソッドを持っていません。

●クラスメンバメソッド

名前概要
public操作メソッド Resetイベントの見た目との連動を停止します
public操作メソッド Pretendイベントと連動を開始し、すり替わります

●クラス共有変数

   このクラスはクラス共有変数を持っていません。

●インスタンス変数

名前概要
internal org_event_invisible連動開始時点のイベントの非表示フラグ




BasicQuestAlternateGhostEvent::Reset

public void Reset()

   このオブジェクトが連動しているイベントとの接続を切り、ウィンドウを削除します。
   このメソッドを呼び出すと、イベントとの見た目の連動、動作規則の自動更新が解除され、
   動作規則ユニット、動作規則集合、イベントと同じ見た目のウィンドウが削除されます。
   
   また、連動していたイベントの表示状態を連動開始時点の状態に復元します。

先頭へ


BasicQuestAlternateGhostEvent::Pretend

public Bool Pretend(editable INativeEventObject eventobj, Integer use_set,
             INativeWindow? addwnd, INativeInteger wndtype, INativeInteger? focus=NULL)


   このオブジェクトの全項目を初期化します。
   このメソッドを呼び出すと、指定したイベントとの見た目の連動が開始され、
   連動させたイベントと同じ見た目を持つウィンドウが作成されます。
   さらに、指定した動作規則ユニットおよび動作規則集合が作成され、ウィンドウと連動されます。
   ここで作成される動作規則ユニットはシーンクラスによる自動更新が設定されます。
   さらに、指定したイベントは非表示になり、イベントが表示されていた場所に作成したウィンドウが配置されます。
   以降、ウィンドウはイベントの表示位置を追跡します。
   ウィンドウの描画方法や透過度、色変換、表示状態は連動開始時点の値がコピーされます。
   連動後にこれらの設定をイベント側で変更しても連動ウィンドウには反映されません。

   初期化に成功すると、動作規則はアクティブな状態で一時停止されます。
   実際に動作規則を適用開始するには Start を呼び出します。
   
editable INativeEventObject eventobj :[入出力]連動させるイベントオブジェクト。
Integer use_set :使用する動作規則ユニットを指定します。以下のOR結合。
識別子意味
AnimateTransfer_Base::RESET動作規則ユニットを使用しません。
この識別子は単体で指定しなければいけません。
AnimateTransfer_Base::POS位置座標ユニット(trans_pos/x_rules/y_rules)を使用します。
AnimateTransfer_Base::ALPHA透過度ユニット(trans_alpha/a_rules)を使用します。
AnimateTransfer_Base::TONE色変換ユニット(trans_tone/rc_rules/gc_rules/bc_rules/rp_rules/gp_rules/bp_rules)を使用します。
AnimateTransfer_Base::ROTATE回転設定ユニット(trans_rotate/ang_rules/mag_rules)を使用します。
INativeWindow? addwnd :作成するウィンドウの所属を決定するウィンドウ。意味はウィンドウタイプに依存します。
ウィンドウタイプごとの意味:
ウィンドウタイプ意味
トップレベルウィンドウこの引数は無視されます。
子ウィンドウ所属させる親ウィンドウ。
サブウィンドウ所属させるウィンドウ。
スタックウィンドウ所属させるウィンドウ。
挿入ウィンドウ直前の序列のウィンドウ。所属は指定したウィンドウと同じになります。
INativeInteger wndtype :ウィンドウタイプ。以下のいずれか。
識別子意味
Window::WND_TOPLEVELトップレベルウィンドウ。
独立して扱われるウィンドウです。仮想ビュー座標系を使用します。
Window::WND_CHILD子ウィンドウ。
親ウィンドウの中に配置されるウィンドウで、親ウィンドウの領域外に出ると正常に描画されません。
座標系は親ウィンドウのローカル座標となり、親ウィンドウが移動すると連動して移動します。
また、親ウィンドウに対して行われた操作の一部は連動して影響します。
Window::WND_SUBサブウィンドウ。
所属するウィンドウの補足情報を提示するためのウィンドウです。
座標系は所属するウィンドウのローカル座標となり、所属するウィンドウが移動すると連動して移動します。
原則として所属するウィンドウとは独立して扱われますが、削除や更新は連動します。
Window::WND_STACKスタックウィンドウ。
所属するウィンドウの追加処理を行うウィンドウで、ダイアログに近い扱いをします。
座標系は所属するウィンドウと同じになります。
原則として所属するウィンドウとは独立して扱われますが、削除は連動します。
また、サブウィンドウよりも上に描画されます。
Window::WND_PREV挿入ウィンドウ。
指定したウィンドウの次の序列に作成するウィンドウを挿入します。
ウィンドウタイプや座標系は指定したウィンドウと同じになります。
INativeInteger? focus=NULL :フォーカス制御。
以下の一斉指定識別子か、各グループのOR結合。
一斉指定識別子:全グループで同じ意味を設定したOR結合済み識別子。
識別名内容
Window::FOCUS_OK所属ウィンドウへのフォーカス制御に干渉しません(デフォルト)
Window::FOCUS_REDIRECT所属ウィンドウへのフォーカスはこのウィンドウが奪います
Window::FOCUS_BLOCK所属ウィンドウへのフォーカス制御を拒否します
スタックウィンドウ用:
識別名内容
Window::FOCUS_STACK_OKスタックウィンドウへのフォーカス制御に干渉しません
Window::FOCUS_STACK_REDIRECTスタックウィンドウへのフォーカスはこのウィンドウが奪います
Window::FOCUS_STACK_BLOCKスタックウィンドウへのフォーカス制御を拒否します
サブウィンドウ用:
識別名内容
Window::FOCUS_SUB_OKサブウィンドウへのフォーカス制御に干渉しません
Window::FOCUS_SUB_REDIRECTサブウィンドウへのフォーカスはこのウィンドウが奪います
Window::FOCUS_SUB_BLOCKサブウィンドウへのフォーカス制御を拒否します
子ウィンドウ用:
識別名内容
Window::FOCUS_CHILD_OK子ウィンドウへのフォーカス制御に干渉しません
Window::FOCUS_CHILD_REDIRECT子ウィンドウへのフォーカスはこのウィンドウが奪います
Window::FOCUS_CHILD_BLOCK子ウィンドウへのフォーカス制御を拒否します

先頭へ


BasicQuestAlternateGhostEvent::org_event_invisible

internal Bool org_event_invisible

   連動するイベントの連動開始時点の非表示イベントフラグ。

先頭へ


[前へ] [目次へ] [次へ]

最終更新 2020/10/20