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

TileMapEventScene (ネイティブクラス)


このクラスはタイルマップとイベントを扱うクラスです。
このクラスはイベント処理や移動障害判定など多くのゲームで必要となり、
処理量が多い機能をC++レベルで実装しています。

このクラスはRPGやARPG、SLGなど、様々なジャンルのゲームを作成することに向いています。

シーンクラスはFGES With FGLにおいてベースとなる動作を決定するクラスで、
実行中のシーンが全て終了するとプロセスが終了します。

●継承

   このクラスは継承をしていません。

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

   implements INativeScene
          (C++レベルキャスト)IFGESScene
          SetDebugSceneClass
          GetDebugSceneClass
          SetMouseFocusChangeEnable
          GetMouseFocusChangeEnable
          FreezeView
          UnFreezeView
          SetViewFreezeLevel
          GetViewFreezeLevel
          SetFocusLock
          ReleaseFocusLock
          ReserveSE
          ReserveSceneDebugger
          ReserveScriptDebugger
          ReserveSyncView
          SilentUpdateView
          ViewSnapShot
          GetFocusChangeInfo
          IsSceneTransitionBusy
          GetWindowFromPoint


●クラスメソッド

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

●クラスメンバメソッド

名前概要
public設定メソッド SetBeginMethodシーン開始ハンドラを設定します
public設定メソッド SetUpdateMethodフレーム更新ハンドラを設定します
public設定メソッド SetEndMethodシーン終了ハンドラを設定します
public設定メソッド SetSaveMethodシーン保存ハンドラを設定します
public設定メソッド SetLoadMethodシーン読み込みハンドラを設定します
public設定メソッド SetResizeMethod仮想画面リサイズハンドラを設定します
public設定メソッド SetIdleMethodアイドルハンドラを設定します
public設定メソッド SetDebugSceneClassデバッグシーンクラスを設定します
public取得メソッドconst GetDebugSceneClassデバッグシーンクラスを取得します
public設定メソッド SetMouseFocusChangeEnableマウスによるフォーカス変更の有無を設定します
public取得メソッドconst GetMouseFocusChangeEnableマウスによるフォーカス変更の有無を取得します
public操作メソッド FreezeView画面凍結レベルを1上げます
public操作メソッド UnFreezeView画面凍結レベルを1下げます
public設定メソッド SetViewFreezeLevel画面凍結レベルを設定します
public取得メソッドconst GetViewFreezeLevel画面凍結レベルを取得します
public操作メソッド SetFocusLockフォーカスの変更を制限します
public操作メソッド ReleaseFocusLockフォーカスの変更制限を解除します
public操作メソッド ReserveSE指定時間後に再生するSEを予約します
public操作メソッド ReserveSceneDebuggerシーンデバッガの呼び出しを予約します
public操作メソッド ReserveScriptDebuggerスクリプトデバッガの呼び出しを予約します
public操作メソッド ReserveSyncView仮想画面の画面反映を予約します
public操作メソッド SilentUpdateView実画面に反映せずに仮想画面を更新します
public取得メソッドconst ViewSnapShot仮想画面のコピーを作成します
public設定メソッド SetDebugSceneInfoシーンデバッグ情報を設定します
public取得メソッドconst GetDebugSceneInfoシーンデバッグ情報を取得します
public取得メソッドconst GetFocusChangeInfoフォーカスの変更時情報を取得します
public取得メソッドconst IsSceneTransitionBusyシーン遷移処理中か取得します
public取得メソッドconst GetWindowFromPoint指定座標にあるウィンドウを取得します
public操作メソッド LoadGlobalTentativeEventsグローバルイベント定義を仮イベントとして読み込みます
public操作メソッド LoadLocalTentativeEventsローカルイベント定義を仮イベントとして読み込みます
public操作メソッド LoadGlobalEventContentsグローバルイベント定義を読み込みます
public操作メソッド LoadLocalEventContentsローカルイベント定義を読み込みます
public操作メソッド LoadGlobalEventHandlerグローバルハンドラを読み込みます
public操作メソッド LoadLocalEventHandlerローカルハンドラを読み込みます
public比較・判定メソッドconst IsValidEventID指定したイベントIDが有効か判定します。
public操作メソッド CreateEventInstance新しいイベントインスタンスを生成します
public操作メソッド CreateEventInstancesFromTileID指定したタイルIDの位置に新しいイベントインスタンスを生成します
public操作メソッド ReplaceTilesToSpriteEvents指定したタイルIDのタイルをスプライトイベントに置き換えます
public操作メソッド DeleteEventInstance指定したイベントインスタンスを削除します
public操作メソッド AllDeleteEventInstance全てのイベントインスタンスを削除します
public操作メソッド AllDeleteSpriteEventInstance全てのスプライトイベントインスタンスを削除します
public取得メソッド GetEventInstance指定したインスタンスIDのイベントインスタンスを取得します
public取得メソッド GetEventInstanceListFromPos指定した座標のイベントインスタンスを取得します
public取得メソッド GetEventInstanceListFromPos3D指定した座標のイベントインスタンスを取得します
public取得メソッド GetEventInstanceListFromArea指定した領域のイベントインスタンスを取得します
public取得メソッド GetEventInstanceList指定したイベントIDのイベントインスタンスを取得します
public取得メソッド GetEventInstanceListFromSID指定したシリアルIDのイベントインスタンスを取得します
public取得メソッド GetEventInstanceListFromGroup指定したイベントグループのイベントインスタンスを取得します
public取得メソッド GetAllEventInstanceList全てのイベントインスタンスを取得します
public操作メソッドconst FilterEventInstanceListインスタンスリストを指定した条件でフィルタします
public操作メソッドconst FindNearestEventインスタンスリストから指定位置に一番近いインスタンスを検索します
public操作メソッドconst FindFarthestEventインスタンスリストから指定位置から一番遠いインスタンスを検索します
public操作メソッドconst SortEventInstanceListByDistanceインスタンスリストを指定位置からの距離でソートします
public比較・判定メソッドconst HitTest_MovableCheck指定した座標への移動障害判定を行います
public比較・判定メソッドconst HitTest_AreaMovableCheck指定した領域への移動障害判定を行います
public比較・判定メソッドconst HitTest_MovableCheckDir指定した座標への移動方向を含めた移動障害判定を行います
public比較・判定メソッドconst HitTest_AreaMovableCheckDir指定した領域への移動方向を含めた移動障害判定を行います
public操作メソッド SendTriggerPos指定した座標にイベントトリガーを発生させます
public操作メソッド SendTriggerArea指定した領域にイベントトリガーを発生させます
public取得メソッドconst ConvertLogicPosX目標点を基準点からの論理相対X座標に変換します
public取得メソッドconst ConvertLogicPosY目標点を基準点からの論理相対Y座標に変換します
public取得メソッドconst ConvertLogicPosXF目標点を基準点からの論理相対X座標に変換します
public取得メソッドconst ConvertLogicPosYF目標点を基準点からの論理相対Y座標に変換します
public取得メソッドconst ConvertDrawPosX目標点を基準点からの描画相対X座標に変換します
public取得メソッドconst ConvertDrawPosY目標点を基準点からの描画相対Y座標に変換します
public取得メソッドconst ConvertTileMapNearPos指定した描画座標を表示位置に近い描画座標に変換します
public取得メソッドconst ConvertTileMapViewPos指定した描画座標を表示位置に近い画面座標に変換します
public取得メソッドconst CalcDirection指定点から指定点への方向を取得します
public取得メソッドconst FindShortestRouteDirection指定点から指定点へ向かうための方向を検索します
public取得メソッドconst FindShortestRoute指定点から指定点へ向かうためのルートを検索します
public取得メソッドconst GenerateMovableMap指定点からコスト内で移動できるマスを検索します
public操作メソッド LogicMoveEventObject指定したイベントオブジェクトを移動します
public操作メソッド UpdateAllEventState全イベントインスタンスの状態を更新します
public操作メソッド UpdateAllEventsAnimation全イベントインスタンスのアニメーションを更新します
public操作メソッド UpdateAllSpriteEventsAnimation全スプライトイベントインスタンスのアニメーションを更新します
public設定メソッド SetEventAreaイベント処理を行う領域を設定します
public設定メソッド SetEventMoveLockイベント移動処理のロック状態を設定します
public取得メソッドconst GetEventBaseMoveLockイベント基本移動処理のロック状態を取得します
public取得メソッドconst GetEventDrawMoveLockイベント描画移動処理のロック状態を取得します
public取得メソッドconst GetEventPixelMoveLockイベントピクセル移動処理のロック状態を取得します
public操作メソッド LockEventBaseMoveイベント基本移動処理のロックレベルを1上げます
public操作メソッド UnLockEventBaseMoveイベント基本移動処理のロックレベルを1下げます
public操作メソッド LockEventDrawMoveイベント描画移動処理のロックレベルを1上げます
public操作メソッド UnLockEventDrawMoveイベント描画移動処理のロックレベルを1下げます
public操作メソッド LockEventPixelMoveイベントピクセル移動処理のロックレベルを1上げます
public操作メソッド UnLockEventPixelMoveイベントピクセル移動処理のロックレベルを1下げます
public設定メソッド SetTriggerLockイベントトリガーのロック状態を設定します
public取得メソッドconst GetTriggerLockイベントトリガーのロック状態を取得します
public操作メソッド LockTriggerイベントトリガーのロックレベルを1上げます
public操作メソッド UnLockTriggerイベントトリガーのロックレベルを1下げます
public設定メソッド SetWaitAnimeLock待機アニメーションのロック状態を設定します
public取得メソッドconst GetWaitAnimeLock待機アニメーションのロック状態を取得します
public操作メソッド LockWaitAnime待機アニメーションのロックレベルを1上げます
public操作メソッド UnLockWaitAnime待機アニメーションのロックレベルを1下げます
public取得メソッドconst GetEventHandler指定した名前のイベントハンドラを取得します
public取得メソッドconst GetEventLocalHandlerイベントローカルハンドラを取得します
public取得メソッドconst GetStateHandlerイベント状態ローカルハンドラを取得します
public設定メソッド SetStartTriggerMethodトリガー起動ハンドラを設定します
public設定メソッド SetEndTriggerMethodトリガー完了ハンドラを設定します
public設定メソッド SetHitTestMapSize移動障害判定マップの大きさを設定します
public設定メソッド SetHitTestInfo移動障害判定用のタイルデータを設定します
public設定メソッド LinkTileMap移動障害判定マップをリンクさせるタイルマップを設定します
public設定メソッド AddHitTestLayer移動障害判定マップのデータを追記します
public設定メソッド ClearHitTestLayer移動障害判定マップのデータをクリアします
public操作メソッドconst DrawHitTestMap移動障害判定マップを描画します
public操作メソッドconst DrawDirHitTestMap進入/離脱移動障害判定マップを描画します
public操作メソッドconst DrawEventMapイベントの存在マップを描画します
public操作メソッド ReDrawTileMapリンクしているタイルマップを再描画します
public操作メソッド LumpSyncRelaySourceイベント集合の連動動作を同期します
public操作メソッド LumpResetRelaySourceイベント集合の連動動作を解除します
public操作メソッド LumpSetPixelVectorイベント集合のピクセル移動ベクトルを設定します
public操作メソッド LumpAddPixelVectorイベント集合のピクセル移動ベクトルを加算します
public操作メソッド LumpMulPixelVectorイベント集合のピクセル移動ベクトルを乗算します
public操作メソッド LumpBrakePixelVectorイベント集合のピクセル移動ベクトルを制動します
public操作メソッド LumpSetPixelVectorRangeイベント集合のピクセル移動ベクトルの値域を設定します
public操作メソッド LumpSetPixelVectorVecRateイベント集合のピクセル移動ベクトルのベクトル影響率を設定します
public操作メソッド LumpPixelMoveイベント集合にピクセル移動処理を行います
public操作メソッド LumpResetPixelMoveイベント集合のピクセル移動ベクトルと端数座標をリセットします
public操作メソッド PixelPushOut指定範囲にピクセル移動による押し出し処理を行います
public設定メソッド SetCaptureHandler捕獲ハンドラを設定します
public取得メソッドconst GetCaptureHost捕獲ハンドラのホストを取得します
public取得メソッドconst GetCaptureHandler捕獲ハンドラを取得します
public操作メソッド ResetCaptureHandler捕獲ハンドラを解除します
public取得メソッドconst GenerateSightMap指定点から視野範囲(直線的に移動できるマス)を探索します
public比較・判定メソッドconst IsSeeablePoint指定点から指定した座標が見えるか判定します
public比較・判定メソッドconst IsSeeableRect指定点から指定した矩形が見えるか判定します
public比較・判定メソッドconst IsSeeableCircle指定点から指定した円が見えるか判定します
public比較・判定メソッドconst IsSeeableEvent指定点から指定したイベントが見えるか判定します

●クラス共有変数

名前概要
readable TRIGGER_AUTO「自動開始」トリガー
readable TRIGGER_CHECK「調べる」トリガー
readable TRIGGER_TOUCH「接触」トリガー
readable TRIGGER_EXTRA「拡張」トリガー
readable TRIGGER_OVERLAP「座標重複」フラグ
readable TRIGGER_HOST「自身開始」フラグ
readable EVENTHANDLER_CREATE「インスタンス生成」ハンドラID
readable EVENTHANDLER_DELETE「インスタンス削除」ハンドラID
readable EVENTHANDLER_UPDATESTATE「状態更新」ハンドラID
readable EVENTHANDLER_CHANGESTATE「状態変化」ハンドラID
readable STATEHANDLER_PL_RECEIVECHECK「プレイヤーから調べられた」ハンドラID
readable STATEHANDLER_PL_RECEIVETOUCH「プレイヤーから接触された」ハンドラID
readable STATEHANDLER_PL_HOSTCHECK「プレイヤーを調べた」ハンドラID
readable STATEHANDLER_PL_HOSTTOUCH「プレイヤーへ接触した」ハンドラID
readable STATEHANDLER_AUTO「自動開始」ハンドラID
readable STATEHANDLER_RECEIVECHECK「他イベントから調べられた」ハンドラID
readable STATEHANDLER_RECEIVETOUCH「他イベントから接触された」ハンドラID
readable STATEHANDLER_HOSTCHECK「他イベントを調べた」ハンドラID
readable STATEHANDLER_HOSTTOUCH「他イベントへ接触した」ハンドラID
readable STATEHANDLER_CHANGE「この状態に変化した」ハンドラID
readable STATEHANDLER_EXTRA「拡張応答」ハンドラID
readable EFT_GROUP「イベント(存在)グループ」フィルタ対象ID
readable EFT_HITTEST「被判定(接触)グループ」フィルタ対象ID
readable EFT_BLOCK「障害グループ」フィルタ対象ID
readable EFT_THROUGH「通過グループ」フィルタ対象ID
readable EFT_GROUP_NOT「イベント(存在)グループの否定」フィルタ対象ID
readable EFT_HITTEST_NOT「被判定(接触)グループの否定」フィルタ対象ID
readable EFT_BLOCK_NOT「障害グループの否定」フィルタ対象ID
readable EFT_THROUGH_NOT「通過グループの否定」フィルタ対象ID

●インスタンス変数

   このクラスはインスタンス変数を持っていません。


●C++レベル追加情報

クラスID: FGES_CLASSID_TILEMAPEVENTSCENE
クラス名: FGESScene<FGL_FGESWithTileMapEventScene>



TileMapEventScene::INativeScene@@SetDebugSceneClass

void INativeScene@@SetDebugSceneClass( INativeClass class_obj)

   シーンの実行中にF11キーを押した時に起動するシーンクラスを設定します。
   この方法で起動されるシーンはスクリプト定義のシーンデバッガとして扱われ、
   現在実行中のシーンのスレッドを全て一時停止して割り込み呼び出しします。

INativeClass class_obj :設定するシーンクラスオブジェクト

先頭へ


TileMapEventScene::INativeScene@@GetDebugSceneClass

readonly INativeClass?@ INativeScene@@GetDebugSceneClass()const

   シーンの実行中にF11キーを押した時に起動するシーンクラスを取得します。
   この方法で起動されるシーンはスクリプト定義のシーンデバッガとして扱われ、
   現在実行中のシーンのスレッドを全て一時停止して割り込み呼び出しします。

戻り値:設定されているシーンクラスオブジェクト。
      シーンクラスが設定されていない場合は空参照を返します。

先頭へ


TileMapEventScene::INativeScene@@SetMouseFocusChangeEnable

void INativeScene@@SetMouseFocusChangeEnable( INativeBool new_mode)

   マウスでクリックを行った時、
   該当する位置のウィンドウに入力フォーカスを自動的に変更するかを設定します。
   
   この設定が真に設定されている場合、マウスでクリックした時に
   クリックした座標に対応するウィンドウがあるか自動的にチェックし、
   ウィンドウがあった場合はそのウィンドウに対して入力フォーカスを設定します。
   C++レベルで作成されているウィンドウに入力フォーカスを設定できるのはこの方法だけです。
   
   この設定が偽に設定されている場合、入力フォーカスはスクリプトで操作した場合のみ変化します。
   この場合、C++レベルで作成されているウィンドウを操作することはできません。
   
   この設定はシーン単位で行われます。
   設定したシーン以外での設定には影響しません。
   デフォルトでは偽に設定されています。

INativeBool new_mode :真を指定するとマウスによるフォーカス変更を有効にします。

先頭へ


TileMapEventScene::INativeScene@@GetMouseFocusChangeEnable

Bool INativeScene@@GetMouseFocusChangeEnable()const

   マウスでクリックを行った時、
   該当する位置のウィンドウに入力フォーカスを自動的に変更するかを取得します。
   
   この設定が真に設定されている場合、マウスでクリックした時に
   クリックした座標に対応するウィンドウがあるか自動的にチェックし、
   ウィンドウがあった場合はそのウィンドウに対して入力フォーカスを設定します。
   C++レベルで作成されているウィンドウに入力フォーカスを設定できるのはこの方法だけです。
   
   この設定が偽に設定されている場合、入力フォーカスはスクリプトで操作した場合のみ変化します。
   この場合、C++レベルで作成されているウィンドウを操作することはできません。
   
   この設定はシーン単位で行われます。
   設定したシーン以外での設定には影響しません。
   デフォルトでは偽に設定されています。

戻り値:マウスによるフォーカス変更が有効な場合真を返します。

先頭へ


TileMapEventScene::INativeScene@@FreezeView

Bool INativeScene@@FreezeView()

   画面凍結レベルを1上げます。
   画面凍結レベルを1以上にするとその瞬間の状態で画面の更新が停止します。
   ただし、画面に反映されていないだけで全ての動作は続行されています。
   
   この設定は時間の掛かる画面構築処理など、
   処理途中の状態が画面に反映されることが都合の悪い時に使用します。
   解除を忘れるとフリーズしたように見えるので注意してください。
   
   この設定はシーン単位で行われます。
   設定したシーン以外での設定には影響しません。
   デフォルトでは1に設定されています。

戻り値:操作に成功すると真を返します。

先頭へ


TileMapEventScene::INativeScene@@UnFreezeView

Bool INativeScene@@UnFreezeView()

   画面凍結レベルを1下げます。
   このメソッドは現在の画面凍結レベルが0である場合失敗します。
   
   画面凍結レベルを1以上にするとその瞬間の状態で画面の更新が停止します。
   ただし、画面に反映されていないだけで全ての動作は続行されています。
   
   この設定は時間の掛かる画面構築処理など、
   処理途中の状態が画面に反映されることが都合の悪い時に使用します。
   解除を忘れるとフリーズしたように見えるので注意してください。
   
   この設定はシーン単位で行われます。
   設定したシーン以外での設定には影響しません。
   デフォルトでは1に設定されています。

戻り値:操作に成功すると真を返します。

先頭へ


TileMapEventScene::INativeScene@@SetViewFreezeLevel

void INativeScene@@SetViewFreezeLevel( INativeInteger new_lv)

   画面凍結レベルを設定します。
   画面凍結レベルを1以上にするとその瞬間の状態で画面の更新が停止します。
   ただし、画面に反映されていないだけで全ての動作は続行されています。
   
   この設定は時間の掛かる画面構築処理など、
   処理途中の状態が画面に反映されることが都合の悪い時に使用します。
   解除を忘れるとフリーズしたように見えるので注意してください。
   
   この設定はシーン単位で行われます。
   設定したシーン以外での設定には影響しません。
   デフォルトでは1に設定されています。

INativeInteger new_lv :設定する画面凍結レベル。

先頭へ


TileMapEventScene::INativeScene@@GetViewFreezeLevel

Integer INativeScene@@GetViewFreezeLevel()const

   画面凍結レベルを取得します。
   画面凍結レベルを1以上にするとその瞬間の状態で画面の更新が停止します。
   ただし、画面に反映されていないだけで全ての動作は続行されています。
   
   この設定は時間の掛かる画面構築処理など、
   処理途中の状態が画面に反映されることが都合の悪い時に使用します。
   解除を忘れるとフリーズしたように見えるので注意してください。
   
   この設定はシーン単位で行われます。
   設定したシーン以外での設定には影響しません。
   デフォルトでは1に設定されています。

戻り値:現在の画面凍結レベルを返します。

先頭へ


TileMapEventScene::INativeScene@@SetFocusLock

Bool INativeScene@@SetFocusLock( INativeWindow lockwnd)

   ウィンドウの入力フォーカスの変更を指定したウィンドウとそのウィンドウに所属するウィンドウに制限します。
   フォーカスの変更をロックしている間、
   ロックしているウィンドウとそのウィンドウに所属するウィンドウ以外へのフォーカス設定は無視されます。
   
   このメソッドを呼び出した時点で入力フォーカスを持っていたウィンドウが
   ロックしているウィンドウまたはそのウィンドウに所属するウィンドウでない場合でも入力フォーカスが変更されることはありませんが、
   一度入力フォーカスを失うとロックが変更されるか、解除されなければフォーカスを獲得できなくなります。
   
   ロックの必要が無くなったら ReleaseFocusLock メソッドでロックを解除してください。
   ロックしている状態でさらにこのメソッドを呼び出すと、
   ロック状態は最後に設定したウィンドウのものになりますが、
   ロックを解除すると以前のロック状態が復元されます。
   完全にロックを解除するにはロックした回数だけ ReleaseFocusLock メソッドでロックを解除する必要があります。
   
   この設定はシーン単位で行われます。
   設定したシーン以外での設定には影響しません。
   
戻り値:ロックに成功すると真を返します。

INativeWindow lockwnd :ロックするウィンドウを指定します。

先頭へ


TileMapEventScene::INativeScene@@ReleaseFocusLock

Bool INativeScene@@ReleaseFocusLock()

   現在設定されているウィンドウの入力フォーカスへのロックを一段解除します。
   多重にロックされている場合は最後に掛けたロックが解除され、
   最後にロックした時点のロック状態が復元されます。
   
   ロックしていない状態でこのメソッドを呼び出した場合は失敗します。
   
   この設定はシーン単位で行われます。
   設定したシーン以外での設定には影響しません。

戻り値:ロックの解除に成功すると真を返します。

先頭へ


TileMapEventScene::INativeScene@@ReserveSE

Bool INativeScene@@ReserveSE( INativeInteger wait_frame, INativeString filename,
             INativeFloat? volume=NULL, INativeFloat? speed=NULL, INativeInteger? pan=NULL)


   指定フレーム数の経過後に再生する効果音を予約します。
   フレーム数はこのシーンにおけるネイティブフレーム基準で計測されます。
   ゲームシステムスレッドの処理によってネイティブフレームがスキップされた場合や、
   他のシーンを呼び出したことによってシーンの処理が中断していた場合、再生までの時間が延長されます。
   
   このメソッドは指定されたタイミングに同じ設定の効果音が予約されている場合、何もせずに偽を返します。
   
   再生時にメモリ上にロードされていない効果音が指定された場合、自動的にロードしてから再生します。
   
   ファイル名の先頭に # を指定した場合、「排他再生フラグ」として扱われ、 # を除いた部分をファイル名として使用します。
   排他再生を行う場合、同じ効果音が再生中だった場合に再生を中止してから改めて再生します。
   排他再生しない場合、同じ効果音が再生中でも多重して再生されます。
   
   このメソッドでは Wav/MP3/Ogg Vorbis のファイルを再生することができますが、
   MP3ファイルのデコードはOSの機能を使用するため、PCによっては失敗する可能性があります。
   
   ミキシング処理を高速に行うため、全ての効果音ファイルは44100Hzのモノラルか、ステレオでなければいけません。
   また、ミキシング時に音割れの原因になるため、効果音ファイルの音量はある程度小さめにすべきです。
   
戻り値:新しく予約された場合真を返します。

INativeInteger wait_frame :再生までのフレーム数を指定します。
INativeString filename :再生する効果音ファイル名。SEフォルダ基準で、パスは使えません。
         ファイル名の先頭に # がある場合、 # を除いた部分をファイル名として使用し排他再生します。
INativeFloat? volume=NULL :再生音量を%単位で指定します。
         空参照を指定すると100.0(100%)として扱います。
INativeFloat? speed=NULL :再生速度を%単位で指定します。
         空参照を指定すると100.0(100%)として扱います。
INativeInteger? pan=NULL :パンを-64〜64で指定します。中央は0です。
         空参照を指定すると0として扱います。

先頭へ


TileMapEventScene::INativeScene@@ReserveSceneDebugger

void INativeScene@@ReserveSceneDebugger()

   シーンデバッガの呼び出しを予約します。
   予約したシーンデバッガはこのシーンオブジェクトのフレーム開始時に最優先レベルで割り込みます。
   ただし、スクリプトデバッガの呼び出しも予約されている場合はスクリプトデバッガが優先されます。
   
   現在実行中のシーンに対して予約した場合、
   シーンデバッガが呼び出されるのは次のフレームの開始時になります。
   予約したフレームの処理は最後まで実行されます。
   
   このメソッドは例えば、呼び出されているシーンから呼び出し元のシーンに戻る時、
   呼び出し元のシーンのシーンデバッガを呼び出したいといった用途が想定されています。
   
   この予約はゲームシステムスレッドの実行よりも優先されるため、
   呼び出し元のシーンに対して予約すると呼び出し元に戻った瞬間にデバッガが呼び出されます。
   
先頭へ


TileMapEventScene::INativeScene@@ReserveScriptDebugger

void INativeScene@@ReserveScriptDebugger()

   スクリプトデバッガの呼び出しを予約します。
   予約したスクリプトデバッガはこのシーンオブジェクトのフレーム開始時に最優先レベルで割り込みます。
   
   現在実行中のシーンに対して予約した場合、
   スクリプトデバッガが呼び出されるのは次のフレームの開始時になります。
   予約したフレームの処理は最後まで実行されます。
   直ちにスクリプトデバッガを呼び出したい場合は debug_break 文を使用します。
   
   このメソッドは例えば、呼び出されているシーンから呼び出し元のシーンに戻る時、
   呼び出し元のシーンの状態でスクリプトデバッガを呼び出したいといった用途が想定されています。
   
   この予約はゲームシステムスレッドの実行よりも優先されるため、
   呼び出し元のシーンに対して予約すると呼び出し元に戻った瞬間にデバッガが呼び出されます。
   
先頭へ


TileMapEventScene::INativeScene@@ReserveSyncView

void INativeScene@@ReserveSyncView()

   仮想画面の画面反映を予約します。
   このメソッドにより予約された画面反映は処理落ちによる描画スキップ処理や画面凍結状態に係わらず、
   実行したフレームで確実に行います。
   
先頭へ


TileMapEventScene::INativeScene@@SilentUpdateView

Bool INativeScene@@SilentUpdateView()

   実画面に反映せずに仮想画面を直ちに更新します。
   このメソッドを呼び出してもプレイヤーから見える画面は変化しませんが、
   内部的に画面が更新され、 GameSystem::ViewSnapShot で取得できる画面は更新されます。
   
   このメソッドによって仮想画面を更新した場合、次に画面に変化があるまで実画面には反映されません。
   
戻り値:この呼び出しで画面に変化があった場合、真を返します。

先頭へ


TileMapEventScene::INativeScene@@ViewSnapShot

void INativeScene@@ViewSnapShot(editable Bitmap out_bitmap)const

   仮想画面の色と透過度を指定したビットマップ画像にコピーします。
   指定するビットマップオブジェクトにはあらかじめ仮想画面と同じ大きさのビットマップ画像を作成しておく必要があります。

   このメソッドはこのシーンオブジェクトが最後に描画更新を行った時の仮想画面を取得します。

editable Bitmap out_bitmap :[出力]仮想画面をコピーするオブジェクト。

先頭へ


TileMapEventScene::INativeScene@@GetFocusChangeInfo

Integer INativeScene@@GetFocusChangeInfo()const

   最後にこのシーンで入力が更新されてから、このシーンで行ったフォーカス変更の種類を取得します。
   このメソッドはフォーカス変更時に連鎖反応を防ぐために使用できます。
   
   識別子 SimpleScene::FOCUSCHANGE_NONE は偽で他は真になります。
   フォーカス変更の発生のみを検出する場合は真偽値評価で十分です。

戻り値:最終入力更新後に行われたフォーカス変更の種類を返します。以下のいずれか。
識別子意味
SimpleScene::FOCUSCHANGE_NONE最終入力更新後にフォーカスは変化していません。
SimpleScene::FOCUSCHANGE_NATIVE最終入力更新時に「マウスによるフォーカス変更」が行われました。
SimpleScene::FOCUSCHANGE_SCRIPT最終入力更新後にスクリプトによるフォーカス変更が行われました。
   
先頭へ


TileMapEventScene::INativeScene@@IsSceneTransitionBusy

Bool INativeScene@@IsSceneTransitionBusy()const

   このシーンがシーン遷移処理中かを返します。
   
戻り値:このシーンがシーン遷移処理中なら真を返します。
   
先頭へ


TileMapEventScene::INativeScene@@GetWindowFromPoint

INativeWindow?@ INativeScene@@GetWindowFromPoint(
             INativeInteger x, INativeInteger y, INativeInteger? option=NULL)const


   指定した座標にあるウィンドウのうち、列挙可能な最も上にあるウィンドウを返します。
   デフォルトではトップレベルウィンドウのみが取得対象になります。
   トップレベルウィンドウに所属するウィンドウも取得対象にするには WFP_RECURSIVE オプションを使用します。
   
戻り値:指定した座標にあるウィンドウのうち、列挙可能な最も上にあるウィンドウを返します。
      該当するウィンドウが存在しない場合、空参照を返します。

INativeInteger x :ウィンドウを取得するX座標。
INativeInteger y :ウィンドウを取得するY座標。
INativeInteger? option=NULL :取得対象のウィンドウを決定するオプション。以下のOR結合。
識別名内容
Window::WFP_TYPE_STACKスタックウィンドウを取得対象にします。
Window::WFP_TYPE_SUBサブウィンドウを取得対象にします。
Window::WFP_TYPE_CHILD子ウィンドウを取得対象にします。
Window::WFP_TYPE_ALL全てのウィンドウを取得対象にします。(デフォルト)
Window::WFP_FEX_UPDATE_OFF更新停止しているウィンドウを対象から除外します。
Window::WFP_FEX_INPUT_OFF入力停止しているウィンドウを対象から除外します。
Window::WFP_FEX_INVISIBLE非表示のウィンドウを対象から除外します。
Window::WFP_FEX_ALV0透過度が0のウィンドウを対象から除外します。
Window::WFP_RECURSIVE取得対象のウィンドウに所属するウィンドウも再帰的に検索します。

先頭へ


TileMapEventScene::SetBeginMethod

public void SetBeginMethod( INativeMethod method_obj)

   シーン開始時に呼び出されるハンドラを設定します。
   ハンドラは戻り値、引数ともになく、開始されるシーンオブジェクトをホストとして呼び出されます。
   
   ハンドラはゲームシステムスレッドで呼び出されます。
   時間の掛かる処理をする場合は別スレッドに処理を移してください。

INativeMethod method_obj :設定するハンドラ

先頭へ


TileMapEventScene::SetUpdateMethod

public void SetUpdateMethod( INativeMethod method_obj)

   フレーム更新時に呼び出されるハンドラを設定します。
   ハンドラは戻り値、引数ともになく、現在のシーンオブジェクトをホストとして呼び出されます。

   ハンドラはゲームシステムスレッドで呼び出されます。
   時間の掛かる処理をする場合は別スレッドに処理を移してください。
   特にこのハンドラは頻繁に呼び出されるため、処理落ちに注意してください。

INativeMethod method_obj :設定するハンドラ

先頭へ


TileMapEventScene::SetEndMethod

public void SetEndMethod( INativeMethod method_obj)

   シーン終了直前に呼び出されるハンドラを設定します。
   ハンドラは戻り値、引数ともになく、終了されるシーンオブジェクトをホストとして呼び出されます。
   
   ハンドラはゲームシステムスレッドで呼び出されます。
   時間の掛かる処理をする場合は別スレッドに処理を移してください。

INativeMethod method_obj :設定するハンドラ

先頭へ


TileMapEventScene::SetSaveMethod

public void SetSaveMethod( INativeMethod method_obj)

   ベースシーンをセーブするために呼び出されるハンドラを設定します。
   ハンドラは以下の形で定義されていなければいけません。
method void Save(editable DataStoreWriter writer)
   引数はセーブ対象のファイルが開かれた状態で渡されます。
   ベースシーンオブジェクトをホストとして呼び出されます。
   
   このハンドラは GameSystem::SystemSave の処理中に、
   ベースシーンオブジェクトに設定されたハンドラが呼び出されます。
   
   ベースシーンは実行中のシーンの中で一番下にあるシーン、
   つまり終了するとプロセスが終了するシーンのことです。
   
   ハンドラはゲームシステムスレッドで呼び出されます。
   データを正しくセーブするため、このハンドラ内で処理を完了してください。

INativeMethod method_obj :設定するハンドラ

先頭へ


TileMapEventScene::SetLoadMethod

public void SetLoadMethod( INativeMethod method_obj)

   ベースシーンをロードするために呼び出されるハンドラを設定します。
   ハンドラは以下の形で定義されていなければいけません。
method void Load( DataStoreReader reader)
   引数はロード対象のファイルが開かれた状態で渡されます。
   ベースシーンオブジェクトをホストとして呼び出されます。
   
   このハンドラはシステムロードの処理中に、
   システムセーブ時のベースシーンクラスがインスタンス化された後、
   ベースシーンオブジェクトに設定されたハンドラが呼び出されます。
   そのため、このハンドラはシーンクラスのイニシャライザ中で設定しなければいけません。
   
   ベースシーンは実行中のシーンの中で一番下にあるシーン、
   つまり終了するとプロセスが終了するシーンのことです。
   
   ハンドラはゲームシステムスレッドで呼び出されます。
   データを正しくロードするため、このハンドラ内で処理を完了してください。

INativeMethod method_obj :設定するハンドラ

先頭へ


TileMapEventScene::SetResizeMethod

public void SetResizeMethod( INativeMethod method_obj)

   仮想画面の大きさが変更された時に呼び出されるハンドラを設定します。
   ハンドラは戻り値、引数ともになく、現在のシーンオブジェクトをホストとして呼び出されます。
   
   呼び出したシーンの実行中に仮想画面の大きさが変更された場合、
   このハンドラはシーンの実行が再開されてから呼び出されます。
   
   ハンドラはゲームシステムスレッドで呼び出されます。
   時間の掛かる処理をする場合は別スレッドに処理を移してください。

INativeMethod method_obj :設定するハンドラ

先頭へ


TileMapEventScene::SetIdleMethod

public void SetIdleMethod( INativeMethod method_obj)

   ゲームタスクがない時に呼び出されるハンドラを設定します。
   ハンドラは戻り値、引数ともになく、現在のシーンオブジェクトをホストとして呼び出されます。
   
   このハンドラはゲームシステムスレッド、ゲームメインスレッドの両方にタスクがない時呼び出されます。
   
   このハンドラはゲームメインスレッドで呼び出されます。

INativeMethod method_obj :設定するハンドラ

先頭へ


TileMapEventScene::SetDebugSceneClass

public void SetDebugSceneClass( INativeClass class_obj)

   シーンの実行中にF11キーを押した時に起動するシーンクラスを設定します。
   この方法で起動されるシーンはスクリプト定義のシーンデバッガとして扱われ、
   現在実行中のシーンのスレッドを全て一時停止して割り込み呼び出しします。

INativeClass class_obj :設定するシーンクラスオブジェクト

先頭へ


TileMapEventScene::GetDebugSceneClass

public readonly INativeClass?@ GetDebugSceneClass()const

   シーンの実行中にF11キーを押した時に起動するシーンクラスを取得します。
   この方法で起動されるシーンはスクリプト定義のシーンデバッガとして扱われ、
   現在実行中のシーンのスレッドを全て一時停止して割り込み呼び出しします。

戻り値:設定されているシーンクラスオブジェクト。
      シーンクラスが設定されていない場合は空参照を返します。

先頭へ


TileMapEventScene::SetMouseFocusChangeEnable

public void SetMouseFocusChangeEnable( INativeBool new_mode)

   マウスでクリックを行った時、
   該当する位置のウィンドウに入力フォーカスを自動的に変更するかを設定します。
   
   この設定が真に設定されている場合、マウスでクリックした時に
   クリックした座標に対応するウィンドウがあるか自動的にチェックし、
   ウィンドウがあった場合はそのウィンドウに対して入力フォーカスを設定します。
   C++レベルで作成されているウィンドウに入力フォーカスを設定できるのはこの方法だけです。
   
   この設定が偽に設定されている場合、入力フォーカスはスクリプトで操作した場合のみ変化します。
   この場合、C++レベルで作成されているウィンドウを操作することはできません。
   
   この設定はシーン単位で行われます。
   設定したシーン以外での設定には影響しません。
   デフォルトでは偽に設定されています。

INativeBool new_mode :真を指定するとマウスによるフォーカス変更を有効にします。

先頭へ


TileMapEventScene::GetMouseFocusChangeEnable

public Bool GetMouseFocusChangeEnable()const

   マウスでクリックを行った時、
   該当する位置のウィンドウに入力フォーカスを自動的に変更するかを取得します。
   
   この設定が真に設定されている場合、マウスでクリックした時に
   クリックした座標に対応するウィンドウがあるか自動的にチェックし、
   ウィンドウがあった場合はそのウィンドウに対して入力フォーカスを設定します。
   C++レベルで作成されているウィンドウに入力フォーカスを設定できるのはこの方法だけです。
   
   この設定が偽に設定されている場合、入力フォーカスはスクリプトで操作した場合のみ変化します。
   この場合、C++レベルで作成されているウィンドウを操作することはできません。
   
   この設定はシーン単位で行われます。
   設定したシーン以外での設定には影響しません。
   デフォルトでは偽に設定されています。

戻り値:マウスによるフォーカス変更が有効な場合真を返します。

先頭へ


TileMapEventScene::FreezeView

public Bool FreezeView()

   画面凍結レベルを1上げます。
   画面凍結レベルを1以上にするとその瞬間の状態で画面の更新が停止します。
   ただし、画面に反映されていないだけで全ての動作は続行されています。
   
   この設定は時間の掛かる画面構築処理など、
   処理途中の状態が画面に反映されることが都合の悪い時に使用します。
   解除を忘れるとフリーズしたように見えるので注意してください。
   
   この設定はシーン単位で行われます。
   設定したシーン以外での設定には影響しません。
   デフォルトでは1に設定されています。

戻り値:操作に成功すると真を返します。

先頭へ


TileMapEventScene::UnFreezeView

public Bool UnFreezeView()

   画面凍結レベルを1下げます。
   このメソッドは現在の画面凍結レベルが0である場合失敗します。
   
   画面凍結レベルを1以上にするとその瞬間の状態で画面の更新が停止します。
   ただし、画面に反映されていないだけで全ての動作は続行されています。
   
   この設定は時間の掛かる画面構築処理など、
   処理途中の状態が画面に反映されることが都合の悪い時に使用します。
   解除を忘れるとフリーズしたように見えるので注意してください。
   
   この設定はシーン単位で行われます。
   設定したシーン以外での設定には影響しません。
   デフォルトでは1に設定されています。

戻り値:操作に成功すると真を返します。

先頭へ


TileMapEventScene::SetViewFreezeLevel

public void SetViewFreezeLevel( INativeInteger new_lv)

   画面凍結レベルを設定します。
   画面凍結レベルを1以上にするとその瞬間の状態で画面の更新が停止します。
   ただし、画面に反映されていないだけで全ての動作は続行されています。
   
   この設定は時間の掛かる画面構築処理など、
   処理途中の状態が画面に反映されることが都合の悪い時に使用します。
   解除を忘れるとフリーズしたように見えるので注意してください。
   
   この設定はシーン単位で行われます。
   設定したシーン以外での設定には影響しません。
   デフォルトでは1に設定されています。

INativeInteger new_lv :設定する画面凍結レベル。

先頭へ


TileMapEventScene::GetViewFreezeLevel

public Integer GetViewFreezeLevel()const

   画面凍結レベルを取得します。
   画面凍結レベルを1以上にするとその瞬間の状態で画面の更新が停止します。
   ただし、画面に反映されていないだけで全ての動作は続行されています。
   
   この設定は時間の掛かる画面構築処理など、
   処理途中の状態が画面に反映されることが都合の悪い時に使用します。
   解除を忘れるとフリーズしたように見えるので注意してください。
   
   この設定はシーン単位で行われます。
   設定したシーン以外での設定には影響しません。
   デフォルトでは1に設定されています。

戻り値:現在の画面凍結レベルを返します。

先頭へ


TileMapEventScene::SetFocusLock

public Bool SetFocusLock( INativeWindow lockwnd)

   ウィンドウの入力フォーカスの変更を指定したウィンドウとそのウィンドウに所属するウィンドウに制限します。
   フォーカスの変更をロックしている間、
   ロックしているウィンドウとそのウィンドウに所属するウィンドウ以外へのフォーカス設定は無視されます。
   
   このメソッドを呼び出した時点で入力フォーカスを持っていたウィンドウが
   ロックしているウィンドウまたはそのウィンドウに所属するウィンドウでない場合でも入力フォーカスが変更されることはありませんが、
   一度入力フォーカスを失うとロックが変更されるか、解除されなければフォーカスを獲得できなくなります。
   
   ロックの必要が無くなったら ReleaseFocusLock メソッドでロックを解除してください。
   ロックしている状態でさらにこのメソッドを呼び出すと、
   ロック状態は最後に設定したウィンドウのものになりますが、
   ロックを解除すると以前のロック状態が復元されます。
   完全にロックを解除するにはロックした回数だけ ReleaseFocusLock メソッドでロックを解除する必要があります。
   
   この設定はシーン単位で行われます。
   設定したシーン以外での設定には影響しません。
   
戻り値:ロックに成功すると真を返します。

INativeWindow lockwnd :ロックするウィンドウを指定します。

先頭へ


TileMapEventScene::ReleaseFocusLock

public Bool ReleaseFocusLock()

   現在設定されているウィンドウの入力フォーカスへのロックを一段解除します。
   多重にロックされている場合は最後に掛けたロックが解除され、
   最後にロックした時点のロック状態が復元されます。
   
   ロックしていない状態でこのメソッドを呼び出した場合は失敗します。
   
   この設定はシーン単位で行われます。
   設定したシーン以外での設定には影響しません。

戻り値:ロックの解除に成功すると真を返します。

先頭へ


TileMapEventScene::ReserveSE

public Bool ReserveSE( INativeInteger wait_frame, INativeString filename,
             INativeFloat? volume=NULL, INativeFloat? speed=NULL, INativeInteger? pan=NULL)


   指定フレーム数の経過後に再生する効果音を予約します。
   フレーム数はこのシーンにおけるネイティブフレーム基準で計測されます。
   ゲームシステムスレッドの処理によってネイティブフレームがスキップされた場合や、
   他のシーンを呼び出したことによってシーンの処理が中断していた場合、再生までの時間が延長されます。
   
   このメソッドは指定されたタイミングに同じ設定の効果音が予約されている場合、何もせずに偽を返します。
   
   再生時にメモリ上にロードされていない効果音が指定された場合、自動的にロードしてから再生します。
   
   ファイル名の先頭に # を指定した場合、「排他再生フラグ」として扱われ、 # を除いた部分をファイル名として使用します。
   排他再生を行う場合、同じ効果音が再生中だった場合に再生を中止してから改めて再生します。
   排他再生しない場合、同じ効果音が再生中でも多重して再生されます。
   
   このメソッドでは Wav/MP3/Ogg Vorbis のファイルを再生することができますが、
   MP3ファイルのデコードはOSの機能を使用するため、PCによっては失敗する可能性があります。
   
   ミキシング処理を高速に行うため、全ての効果音ファイルは44100Hzのモノラルか、ステレオでなければいけません。
   また、ミキシング時に音割れの原因になるため、効果音ファイルの音量はある程度小さめにすべきです。
   
戻り値:新しく予約された場合真を返します。

INativeInteger wait_frame :再生までのフレーム数を指定します。
INativeString filename :再生する効果音ファイル名。SEフォルダ基準で、パスは使えません。
         ファイル名の先頭に # がある場合、 # を除いた部分をファイル名として使用し排他再生します。
INativeFloat? volume=NULL :再生音量を%単位で指定します。
         空参照を指定すると100.0(100%)として扱います。
INativeFloat? speed=NULL :再生速度を%単位で指定します。
         空参照を指定すると100.0(100%)として扱います。
INativeInteger? pan=NULL :パンを-64〜64で指定します。中央は0です。
         空参照を指定すると0として扱います。

先頭へ


TileMapEventScene::ReserveSceneDebugger

public void ReserveSceneDebugger()

   シーンデバッガの呼び出しを予約します。
   予約したシーンデバッガはこのシーンオブジェクトのフレーム開始時に最優先レベルで割り込みます。
   ただし、スクリプトデバッガの呼び出しも予約されている場合はスクリプトデバッガが優先されます。
   
   現在実行中のシーンに対して予約した場合、
   シーンデバッガが呼び出されるのは次のフレームの開始時になります。
   予約したフレームの処理は最後まで実行されます。
   
   このメソッドは例えば、呼び出されているシーンから呼び出し元のシーンに戻る時、
   呼び出し元のシーンのシーンデバッガを呼び出したいといった用途が想定されています。
   
   この予約はゲームシステムスレッドの実行よりも優先されるため、
   呼び出し元のシーンに対して予約すると呼び出し元に戻った瞬間にデバッガが呼び出されます。
   
先頭へ


TileMapEventScene::ReserveScriptDebugger

public void ReserveScriptDebugger()

   スクリプトデバッガの呼び出しを予約します。
   予約したスクリプトデバッガはこのシーンオブジェクトのフレーム開始時に最優先レベルで割り込みます。
   
   現在実行中のシーンに対して予約した場合、
   スクリプトデバッガが呼び出されるのは次のフレームの開始時になります。
   予約したフレームの処理は最後まで実行されます。
   直ちにスクリプトデバッガを呼び出したい場合は debug_break 文を使用します。
   
   このメソッドは例えば、呼び出されているシーンから呼び出し元のシーンに戻る時、
   呼び出し元のシーンの状態でスクリプトデバッガを呼び出したいといった用途が想定されています。
   
   この予約はゲームシステムスレッドの実行よりも優先されるため、
   呼び出し元のシーンに対して予約すると呼び出し元に戻った瞬間にデバッガが呼び出されます。
   
先頭へ


TileMapEventScene::ReserveSyncView

public void ReserveSyncView()

   仮想画面の画面反映を予約します。
   このメソッドにより予約された画面反映は処理落ちによる描画スキップ処理や画面凍結状態に係わらず、
   実行したフレームで確実に行います。
   
先頭へ


TileMapEventScene::SilentUpdateView

public Bool SilentUpdateView()

   実画面に反映せずに仮想画面を直ちに更新します。
   このメソッドを呼び出してもプレイヤーから見える画面は変化しませんが、
   内部的に画面が更新され、 GameSystem::ViewSnapShot で取得できる画面は更新されます。
   
   このメソッドによって仮想画面を更新した場合、次に画面に変化があるまで実画面には反映されません。
   
戻り値:この呼び出しで画面に変化があった場合、真を返します。

先頭へ


TileMapEventScene::ViewSnapShot

public void ViewSnapShot(editable Bitmap out_bitmap)const

   仮想画面の色と透過度を指定したビットマップ画像にコピーします。
   指定するビットマップオブジェクトにはあらかじめ仮想画面と同じ大きさのビットマップ画像を作成しておく必要があります。

   このメソッドはこのシーンオブジェクトが最後に描画更新を行った時の仮想画面を取得します。

editable Bitmap out_bitmap :[出力]仮想画面をコピーするオブジェクト。

先頭へ


TileMapEventScene::SetDebugSceneInfo

public void SetDebugSceneInfo( INativeString info)

   非デバッグモード実行時に例外が発生した時、
   errorlog.txt に書き込まれるシーン情報を設定します。
   
   この設定はシーン単位で行われます。
   設定したシーン以外での設定には影響しません。
   デフォルトでは空文字列が設定されています。

INativeString info :設定するシーン情報。

先頭へ


TileMapEventScene::GetDebugSceneInfo

public String GetDebugSceneInfo()const

   非デバッグモード実行時に例外が発生した時、
   errorlog.txt に書き込まれるシーン情報を取得します。
   
   この設定はシーン単位で行われます。
   設定したシーン以外での設定には影響しません。
   デフォルトでは空文字列が設定されています。

戻り値:設定されているシーン情報。

先頭へ


TileMapEventScene::GetFocusChangeInfo

public Integer GetFocusChangeInfo()const

   最後にこのシーンで入力が更新されてから、このシーンで行ったフォーカス変更の種類を取得します。
   このメソッドはフォーカス変更時に連鎖反応を防ぐために使用できます。
   
   識別子 SimpleScene::FOCUSCHANGE_NONE は偽で他は真になります。
   フォーカス変更の発生のみを検出する場合は真偽値評価で十分です。

戻り値:最終入力更新後に行われたフォーカス変更の種類を返します。以下のいずれか。
識別子意味
SimpleScene::FOCUSCHANGE_NONE最終入力更新後にフォーカスは変化していません。
SimpleScene::FOCUSCHANGE_NATIVE最終入力更新時に「マウスによるフォーカス変更」が行われました。
SimpleScene::FOCUSCHANGE_SCRIPT最終入力更新後にスクリプトによるフォーカス変更が行われました。
   
先頭へ


TileMapEventScene::IsSceneTransitionBusy

public Bool IsSceneTransitionBusy()const

   このシーンがシーン遷移処理中かを返します。
   
戻り値:このシーンがシーン遷移処理中なら真を返します。
   
先頭へ


TileMapEventScene::GetWindowFromPoint

public INativeWindow?@ GetWindowFromPoint(
             INativeInteger x, INativeInteger y, INativeInteger? option=NULL)const


   指定した座標にあるウィンドウのうち、列挙可能な最も上にあるウィンドウを返します。
   デフォルトではトップレベルウィンドウのみが取得対象になります。
   トップレベルウィンドウに所属するウィンドウも取得対象にするには WFP_RECURSIVE オプションを使用します。
   
戻り値:指定した座標にあるウィンドウのうち、列挙可能な最も上にあるウィンドウを返します。
      該当するウィンドウが存在しない場合、空参照を返します。

INativeInteger x :ウィンドウを取得するX座標。
INativeInteger y :ウィンドウを取得するY座標。
INativeInteger? option=NULL :取得対象のウィンドウを決定するオプション。以下のOR結合。
識別名内容
Window::WFP_TYPE_STACKスタックウィンドウを取得対象にします。
Window::WFP_TYPE_SUBサブウィンドウを取得対象にします。
Window::WFP_TYPE_CHILD子ウィンドウを取得対象にします。
Window::WFP_TYPE_ALL全てのウィンドウを取得対象にします。(デフォルト)
Window::WFP_FEX_UPDATE_OFF更新停止しているウィンドウを対象から除外します。
Window::WFP_FEX_INPUT_OFF入力停止しているウィンドウを対象から除外します。
Window::WFP_FEX_INVISIBLE非表示のウィンドウを対象から除外します。
Window::WFP_FEX_ALV0透過度が0のウィンドウを対象から除外します。
Window::WFP_RECURSIVE取得対象のウィンドウに所属するウィンドウも再帰的に検索します。

先頭へ


TileMapEventScene::LoadGlobalTentativeEvents

public Bool LoadGlobalTentativeEvents( PIniEx data, INativeString sect)

   テキストデータベースからグローバルイベントリストを仮イベントとしてロードします。
   仮イベントは見た目に関する情報のみを読み込み、配置はできますが実行することはできません。
   また、仮イベントをロードしたオブジェクトは通常のイベントをロードできなくなります。
   
   この設定はシーン単位で行われます。
   設定したシーン以外での設定には影響しません。

戻り値:ロードに成功すると真を返します。

PIniEx data :ロードするグローバルイベントリストを格納したオブジェクト。
INativeString sect :ロードするグローバルイベントリストが格納されているセクションパス。

先頭へ


TileMapEventScene::LoadLocalTentativeEvents

public Bool LoadLocalTentativeEvents( PIniEx data, INativeString sect)

   テキストデータベースからローカルイベントリストを仮イベントとしてロードします。
   仮イベントは見た目に関する情報のみを読み込み、配置はできますが実行することはできません。
   また、仮イベントをロードしたオブジェクトは通常のイベントをロードできなくなります。
   
   この設定はシーン単位で行われます。
   設定したシーン以外での設定には影響しません。

戻り値:ロードに成功すると真を返します。

PIniEx data :ロードするローカルイベントリストを格納したオブジェクト。
INativeString sect :ロードするローカルイベントリストが格納されているセクションパス。

先頭へ


TileMapEventScene::LoadGlobalEventContents

public Bool LoadGlobalEventContents( PIniEx data, INativeString sect, INativeString? handler_errormes=NULL)

   テキストデータベースからグローバルイベントリストをロードします。
   この時、ロードするイベントが必要とするハンドラはロード済みでなければならず、
   イベントインスタンスが存在していてはいけません。
   
   既にグローバルイベントがロードされている状態でこのメソッドを呼び出すと、
   既存のグローバルイベントを全て削除してからロード処理を行います。
   
   つまり、グローバルハンドラ→グローバルイベント→ローカルハンドラ→ローカルイベントの順でロードし、
   ロードが完了してからイベントインスタンスの生成を開始しなければいけません。
   
   この設定はシーン単位で行われます。
   設定したシーン以外での設定には影響しません。

戻り値:ロードに成功すると真を返します。

PIniEx data :ロードするグローバルイベントリストを格納したオブジェクト。
INativeString sect :ロードするグローバルイベントリストが格納されているセクションパス。
INativeString? handler_errormes=NULL :エラー発生時に一緒に表示するエラーメッセージ。
         空参照を指定した場合は無視します。

先頭へ


TileMapEventScene::LoadLocalEventContents

public Bool LoadLocalEventContents( PIniEx data, INativeString sect, INativeString? handler_errormes=NULL)

   テキストデータベースからローカルイベントリストをロードします。
   この時、ロードするイベントが必要とするハンドラはロード済みでなければならず、
   イベントインスタンスが存在していてはいけません。
   
   既にローカルイベントがロードされている状態でこのメソッドを呼び出すと、
   既存のローカルイベントを全て削除してからロード処理を行います。
   
   つまり、グローバルハンドラ→グローバルイベント→ローカルハンドラ→ローカルイベントの順でロードし、
   ロードが完了してからイベントインスタンスの生成を開始しなければいけません。
   
   この設定はシーン単位で行われます。
   設定したシーン以外での設定には影響しません。

戻り値:ロードに成功すると真を返します。

PIniEx data :ロードするローカルイベントリストを格納したオブジェクト。
INativeString sect :ロードするローカルイベントリストが格納されているセクションパス。
INativeString? handler_errormes=NULL :エラー発生時に一緒に表示するエラーメッセージ。
         空参照を指定した場合は無視します。

先頭へ


TileMapEventScene::LoadGlobalEventHandler

public Bool LoadGlobalEventHandler( PIniEx data, INativeString sect,editable String? out_errormes=NULL)

   テキストデータベースからグローバルハンドラマップをロードします。
   この時、イベントインスタンスが存在していてはいけません。
   
   既にグローバルハンドラまたはローカルハンドラがロードされている状態でこのメソッドを呼び出すと、
   既存のグローバルハンドラ、ローカルハンドラを全て削除してからロード処理を行います。
   
   つまり、グローバルハンドラ→グローバルイベント→ローカルハンドラ→ローカルイベントの順でロードし、
   ロードが完了してからイベントインスタンスの生成を開始しなければいけません。
   
   このメソッドはロード中にFGESスクリプトをコンパイルし、メソッドオブジェクト化します。
   コンパイルエラーが発生した場合は out_errormes が空参照の場合は例外として処理され、
   有効な参照が指定されている場合はエラーメッセージが返却され、偽を返します。
   
   この設定はシーン単位で行われます。
   設定したシーン以外での設定には影響しません。

戻り値:ロードに成功すると真を返します。

PIniEx data :ロードするグローバルハンドラマップを格納したオブジェクト。
INativeString sect :ロードするグローバルハンドラマップが格納されているセクションパス。
editable String? out_errormes=NULL :[出力]エラーメッセージを出力するオブジェクト。

先頭へ


TileMapEventScene::LoadLocalEventHandler

public Bool LoadLocalEventHandler( PIniEx data, INativeString sect,editable String? out_errormes=NULL)

   テキストデータベースからローカルハンドラマップをロードします。
   この時、イベントインスタンスが存在していてはいけません。
   
   既にローカルハンドラがロードされている状態でこのメソッドを呼び出すと、
   既存のローカルハンドラを全て削除してからロード処理を行います。
   また、グローバルハンドラと同名のローカルハンドラが存在すると失敗します。
   
   つまり、グローバルハンドラ→グローバルイベント→ローカルハンドラ→ローカルイベントの順でロードし、
   ロードが完了してからイベントインスタンスの生成を開始しなければいけません。
   
   このメソッドはロード中にFGESスクリプトをコンパイルし、メソッドオブジェクト化します。
   コンパイルエラーが発生した場合は out_errormes が空参照の場合は例外として処理され、
   有効な参照が指定されている場合はエラーメッセージが返却され、偽を返します。
   
   この設定はシーン単位で行われます。
   設定したシーン以外での設定には影響しません。

戻り値:ロードに成功すると真を返します。

PIniEx data :ロードするローカルハンドラマップを格納したオブジェクト。
INativeString sect :ロードするローカルハンドラマップが格納されているセクションパス。
editable String? out_errormes=NULL :[出力]エラーメッセージを出力するオブジェクト。

先頭へ


TileMapEventScene::IsValidEventID

public Bool IsValidEventID( INativeInteger eventid)

   指定したイベントIDが現在このシーンで有効か判定します。

戻り値:指定したIDが有効な場合は真を返します。

INativeInteger eventid :判定するイベントID。

先頭へ


TileMapEventScene::CreateEventInstance

public INativeEventObject@ CreateEventInstance( INativeInteger eventid,
             INativeLogicUnit x, INativeLogicUnit y, INativeInteger z,
             INativeInteger? sid=NULL, INativeString? metadata=NULL)


   新しいイベントインスタンスを生成し、配置します。
   イベントIDはビット31が1である場合、下位31ビットはグローバルイベントのIDを示し、
   ビット31が0である場合、下位31ビットはローカルイベントのIDを示します。
   
   設定する座標はイベント標準論理座標を使用します。
   また、設定するZ座標の下位10ビットは無視され、下位10ビットには配置するイベントのZ座標設定が使用されます。
   
   このメソッドが生成したイベントインスタンスはインスタンスの状態が直ちに更新されます。
   ただし、複数のイベントインスタンスを連続して作成した場合、
   状態更新ハンドラや状態変化ハンドラの呼び出し時に他のイベントインスタンスの状態が更新済みである保証はありません。
   これらのハンドラ内で連続して作成するイベントインスタンスへアクセスすべきではありません。
   
   このメソッドが作成したイベントインスタンスオブジェクトはシーンオブジェクトによって管理されます。
   シーンが終了するか、 DeleteEventInstance または AllDeleteEventInstance によってのみ削除できます。
   
   この設定はシーン単位で行われます。
   設定したシーン以外での設定には影響しません。

戻り値:生成したイベントインスタンスへの参照を返します。

INativeInteger eventid :インスタンス化するイベントID。
INativeLogicUnit x :生成したインスタンスを配置する論理X座標。
INativeLogicUnit y :生成したインスタンスを配置する論理Y座標。
INativeInteger z :生成したインスタンスを配置する論理Z座標。
INativeInteger? sid=NULL :生成したインスタンスのシリアルID。
         空参照を指定した場合は-1に設定されます。
INativeString? metadata=NULL :生成したインスタンスの初期メタデータ。
         空参照を指定した場合は空文字列に設定されます。

先頭へ


TileMapEventScene::CreateEventInstancesFromTileID

public Integer CreateEventInstancesFromTileID( INativeInteger tile_layerid,
             INativeInteger tile_x, INativeInteger tile_y,
             INativeInteger? tile_width, INativeInteger? tile_height, INativeInteger cond_tileid,
             INativeInteger eventid, INativeInteger z,
             INativeInteger? sid=NULL, INativeString? metadata=NULL, INativeInteger? filter=NULL,
             INativeLogicUnit? offset_x=NULL, INativeLogicUnit? offset_y=NULL,
             INativeInteger? cond_group=NULL, INativeLogicUnit? cond_width=NULL,
             INativeLogicUnit? cond_height=NULL, INativeInteger? cond_hittest=NULL)


   マップ上の指定範囲内にある、特定のタイルIDを持ち生成条件を満たす全てのタイル上に
   新しいイベントインスタンスを生成し、配置します。
   
   イベントIDはビット31が1である場合、下位31ビットはグローバルイベントのIDを示し、
   ビット31が0である場合、下位31ビットはローカルイベントのIDを示します。
   
   生成範囲の指定はタイル座標を使用し、生成位置補正はイベント標準論理座標を使用します。
   また、設定するZ座標の下位10ビットは無視され、下位10ビットには配置するイベントのZ座標設定が使用されます。
   
   イベントインスタンスの生成判定は指定範囲内の全てのタイルについて行われ、
   以下の条件を両方満たした場合にそのタイルの座標に生成されます。
   ● (判定する位置のタイルID & filter) == cond_tileid
   ● (cond_group==0 || HitTest_MovableCheck(生成するX座標,生成するY座標,
               z,cond_width,cond_height,cond_group,NULL,cond_hittest))


   このメソッドが生成したイベントインスタンスはインスタンスの状態が直ちに更新されます。
   ただし、複数のイベントインスタンスを連続して作成した場合、
   状態更新ハンドラや状態変化ハンドラの呼び出し時に他のイベントインスタンスの状態が更新済みである保証はありません。
   これらのハンドラ内で連続して作成するイベントインスタンスへアクセスすべきではありません。
   
   このメソッドが作成したイベントインスタンスオブジェクトはシーンオブジェクトによって管理されます。
   シーンが終了するか、 DeleteEventInstance または AllDeleteEventInstance によってのみ削除できます。
   
   この設定はシーン単位で行われます。
   設定したシーン以外での設定には影響しません。

戻り値:生成したイベントインスタンスの数を返します。

INativeInteger tile_layerid :タイルIDを評価するタイルレイヤーID。
INativeInteger tile_x :処理を行う左上X座標(タイル座標)。
INativeInteger tile_y :処理を行う左上Y座標(タイル座標)。
INativeInteger? tile_width :処理を行う横幅(タイル枚数)。
         空参照を指定した場合はレイヤーの横幅を指定したものとして扱います。
INativeInteger? tile_height :処理を行う縦幅(タイル枚数)。
         空参照を指定した場合はレイヤーの縦幅を指定したものとして扱います。
INativeInteger cond_tileid :生成条件となるタイルID。
INativeInteger eventid :インスタンス化するイベントID。
INativeInteger z :生成したインスタンスを配置する論理Z座標。
INativeInteger? sid=NULL :生成したインスタンスのシリアルID。
         空参照を指定した場合は-1に設定されます。
INativeString? metadata=NULL :生成したインスタンスの初期メタデータ。
         空参照を指定した場合は空文字列に設定されます。
INativeInteger? filter=NULL :条件と比較するタイルIDのビット。
         生成条件のタイルIDはこの値とANDした後に比較されます。
         空参照を指定した場合は0xFFFF_FFFFを指定したものとして扱います。
INativeLogicUnit? offset_x=NULL :生成したインスタンスを配置する論理X座標に加えるオフセット。
         空参照を指定した場合は0を指定したものとして扱います。
INativeLogicUnit? offset_y=NULL :生成したインスタンスを配置する論理Y座標に加えるオフセット。
         空参照を指定した場合は0を指定したものとして扱います。
INativeInteger? cond_group=NULL :配置条件となるグループID。
         0以外を指定した場合、指定したグループIDを使ってインスタンスの生成位置の移動障害判定を行い、
         移動可能の判定が返された場合のみインスタンスの生成を行います。
         空参照を指定した場合は0を指定したものとして扱います。
INativeLogicUnit? cond_width=NULL :配置条件となる横幅。
         この値は cond_group が0でない場合に移動障害判定を行う横幅です。
         cond_group が0の場合は無視されます。
         空参照を指定した場合は1を指定したものとして扱います。
INativeLogicUnit? cond_height=NULL :配置条件となる縦幅。
         この値は cond_group が0でない場合に移動障害判定を行う縦幅です。
         cond_group が0の場合は無視されます。
         空参照を指定した場合は1を指定したものとして扱います。
INativeInteger? cond_hittest=NULL :配置条件となるヒットテスト条件。以下のOR結合。
         この値は cond_group が0でない場合に適用される移動障害判定の判定条件です。
         cond_group が0の場合は無視されます。
         空参照を指定した場合はデフォルトの判定を行います。
識別名内容
FGESCommonEventObject::HT_EXIST存在判定がある。
FGESCommonEventObject::HT_SAMEEXIST同位置に存在する。Z座標はレイヤーが同じであれば同位置とみなす。
FGESCommonEventObject::HT_BOTTOMEXIST平面座標は一致するが、指定位置より下に存在する。
FGESCommonEventObject::HT_TOPEXIST平面座標は一致するが、指定位置より上に存在する。
FGESCommonEventObject::HT_BLOCK指定したグループに対して障害判定がある。位置は考慮しない。
FGESCommonEventObject::HT_THROUGH指定したグループに対して通過判定がある。位置は考慮しない。

先頭へ


TileMapEventScene::ReplaceTilesToSpriteEvents

public Integer ReplaceTilesToSpriteEvents( INativeInteger tile_layerid,
             INativeInteger tile_x, INativeInteger tile_y,
             INativeInteger? tile_width, INativeInteger? tile_height, INativeInteger cond_tileid,
             INativeInteger z, INativeInteger priority, INativeBool usetileid_sid,
             INativeInteger? sid=NULL, INativeString? metadata=NULL, INativeInteger? filter=NULL,
             INativeInteger? offset_x=NULL, INativeInteger? offset_y=NULL, INativeInteger? replace_tileid=NULL,
             INativeInteger? filter_mod_x=NULL, INativeInteger? filter_index_x=NULL,
             INativeInteger? filter_mod_y=NULL, INativeInteger? filter_index_y=NULL,
             INativeInteger? srcoffset_x=NULL, INativeInteger? srcoffset_y=NULL,
             INativeInteger? event_width=NULL, INativeInteger? event_height=NULL)


   マップ上の指定範囲内にある、特定のタイルIDを持つタイルのうち、
   条件を満たしたタイルの位置とDR設定を基にスプライトイベントを生成します。
   同時に特定のタイルIDを持つタイルを指定したタイルIDのタイルに置き換えます。
   
   生成範囲の指定はタイル座標を使用し、生成位置補正はピクセル単位を使用します。
   
   スプライトイベントの生成対象タイルの判定は指定範囲内の全てのタイルについて行われ、
   以下の条件を全て満たした場合にそのタイルの座標を基準に生成されます。
   ● (判定する位置のタイルID & filter) == cond_tileid
   ● ((filter_mod_x==0)||((((判定する位置のタイルID >>8)&0xFF)%filter_mod_x)==filter_index_x))
   ● ((filter_mod_y==0)||(((判定する位置のタイルID &0xFF)%filter_mod_y)==filter_index_y))


   置換対象タイルの判定は指定範囲内の全てのタイルについて行われ、
   以下の条件を満たした場合にそのタイルの座標に生成されます。
   (ただし、 replace_tileid が0xFFFF_FFFFである場合はこの処理はスキップされます)
   ● (判定する位置のタイルID & filter) == cond_tileid

   このメソッドが作成したスプライトイベントインスタンスオブジェクトはシーンオブジェクトによって管理されます。
   シーンが終了するか、 AllDeleteSpriteEventInstance によってのみ削除できます。
   
   この設定はシーン単位で行われます。
   設定したシーン以外での設定には影響しません。

戻り値:生成したイベントインスタンスの数を返します。

INativeInteger tile_layerid :タイルIDを評価するタイルレイヤーID。
INativeInteger tile_x :処理を行う左上X座標(タイル座標)。
INativeInteger tile_y :処理を行う左上Y座標(タイル座標)。
INativeInteger? tile_width :処理を行う横幅(タイル枚数)。
         空参照を指定した場合はレイヤーの横幅を指定したものとして扱います。
INativeInteger? tile_height :処理を行う縦幅(タイル枚数)。
         空参照を指定した場合はレイヤーの縦幅を指定したものとして扱います。
INativeInteger cond_tileid :生成条件となるタイルID。
INativeInteger z :生成したインスタンスを配置する論理Z座標。
INativeInteger priority :生成したインスタンスの描画優先度。
         この優先度はY,Z座標が同じインスタンスでのみ使用されます。
INativeBool usetileid_sid :真を指定すると生成したインスタンスのシリアルIDに
         置換対象のタイルのタイルIDを設定します。
INativeInteger? sid=NULL :生成したインスタンスのシリアルID。
         空参照を指定した場合は-1を指定したものとして扱います。
         usetileid_sid が真である場合は無視されます。
INativeString? metadata=NULL :生成したインスタンスの初期メタデータ。
         空参照を指定した場合は空文字列に設定されます。
INativeInteger? filter=NULL :条件と比較するタイルIDのビット。
         処理対象を決定する際、対象のタイルIDはこの値とANDした後に比較されます。
         空参照を指定した場合は0xFFFF_FFFFを指定したものとして扱います。
INativeInteger? offset_x=NULL :生成したスプライトイベントの描画オフセットX(ピクセル単位)。
         空参照を指定した場合は0を指定したものとして扱います。
INativeInteger? offset_y=NULL :生成したスプライトイベントの描画オフセットY(ピクセル単位)。
         空参照を指定した場合は0を指定したものとして扱います。
INativeInteger? replace_tileid=NULL :処理対象の置換後のタイルID。
         0xFFFF_FFFF以外を指定した場合、処理対象のタイルはここで指定したタイルに置き換えられます。
         空参照を指定した場合は0xFDFF(無干渉のエクストラタイル)を指定したものとして扱います。
INativeInteger? filter_mod_x=NULL :スプライトイベントの生成条件となる横ブロック数。
         処理対象のタイルIDの横軸番号をこの値で剰余し、
         その結果が filter_index_x と一致する場合のみスプライトイベントを生成します。
         この値が0である場合、横ブロックによる生成条件判定は常に成立したものとして扱います。
         空参照を指定した場合は0を指定したものとして扱います。
INativeInteger? filter_index_x=NULL :スプライトイベントの生成条件となる横ブロック番号。
         処理対象のタイルIDの横軸番号を filter_mod_x で剰余し、
         その結果がこの値と一致する場合のみスプライトイベントを生成します。
         空参照を指定した場合は0を指定したものとして扱います。
INativeInteger? filter_mod_y=NULL :スプライトイベントの生成条件となる縦ブロック数。
         処理対象のタイルIDの縦軸番号をこの値で剰余し、
         その結果が filter_index_y と一致する場合のみスプライトイベントを生成します。
         この値が0である場合、縦ブロックによる生成条件判定は常に成立したものとして扱います。
         空参照を指定した場合は0を指定したものとして扱います。
INativeInteger? filter_index_y=NULL :スプライトイベントの生成条件となる縦ブロック番号。
         処理対象のタイルIDの縦軸番号を filter_mod_y で剰余し、
         その結果がこの値と一致する場合のみスプライトイベントを生成します。
         空参照を指定した場合は0を指定したものとして扱います。
INativeInteger? srcoffset_x=NULL :生成したスプライトイベントの読み取り元オフセットX(ピクセル単位)。
         置換対象のタイルIDに設定されているDRの読み取り元X座標にこの値を加算したものを
         生成したスプライトイベントのDR読み取り元X座標として使用します。
         空参照を指定した場合は0を指定したものとして扱います。
INativeInteger? srcoffset_y=NULL :生成したスプライトイベントの読み取り元オフセットY(ピクセル単位)。
         置換対象のタイルIDに設定されているDRの読み取り元Y座標にこの値を加算したものを
         生成したスプライトイベントのDR読み取り元Y座標として使用します。
         空参照を指定した場合は0を指定したものとして扱います。
INativeInteger? event_width=NULL :スプライトイベントの横幅(ピクセル単位)。
         0以下の値や空参照を指定した場合はタイル1枚分の横幅を指定したものとして扱います。
INativeInteger? event_height=NULL :スプライトイベントの縦幅(ピクセル単位)。
         0以下の値や空参照を指定した場合はタイル1枚分の縦幅を指定したものとして扱います。

先頭へ


TileMapEventScene::DeleteEventInstance

public Bool DeleteEventInstance(editable INativeEventObject delobj)

   指定したイベントインスタンスを削除します。
   削除した後、削除したインスタンスへの参照は無効になります。
   
   イベントインスタンスを削除した後、残像が残る場合があります。
   後始末が終わったら ReDrawTileMap メソッドを呼び出してください。
   
   このメソッドで削除できるのはこのシーンオブジェクトが管理しているイベントインスタンスだけです。
   他のシーンオブジェクトが管理しているイベントインスタンスを削除することはできません。
   
   ネイティブコールバック処理中にこのメソッドを呼び出すと例外が発生する場合があります。
   特にリレーハンドラやピクセルイベントハンドラからイベントインスタンスを削除する場合は
   ネイティブコールバック中に削除処理を実行しないように注意してください。

戻り値:削除に成功すると真を返します。

editable INativeEventObject delobj :削除するイベントインスタンス。

先頭へ


TileMapEventScene::AllDeleteEventInstance

public void AllDeleteEventInstance()

   このシーンオブジェクトが管理する全てのイベントインスタンスを削除します。
   削除した後、削除したインスタンスへの参照は無効になります。
   このメソッドが呼び出されるとインスタンスIDの割り当てがリセットされ、
   次に作成するイベントインスタンスのインスタンスIDは0になります。
   
   イベントインスタンスを削除した後、残像が残る場合があります。
   後始末が終わったら ReDrawTileMap メソッドを呼び出してください。
   
   ネイティブコールバック処理中にこのメソッドを呼び出すと例外が発生する場合があります。
   特にリレーハンドラやピクセルイベントハンドラからイベントインスタンスを削除する場合は
   ネイティブコールバック中に削除処理を実行しないように注意してください。

先頭へ


TileMapEventScene::AllDeleteSpriteEventInstance

public void AllDeleteSpriteEventInstance()

   このシーンオブジェクトが管理する全てのスプライトイベントインスタンスを削除します。
   削除した後、削除したインスタンスへの参照は無効になります。
   
   イベントインスタンスを削除した後、残像が残る場合があります。
   後始末が終わったら ReDrawTileMap メソッドを呼び出してください。
   
先頭へ


TileMapEventScene::GetEventInstance

public INativeEventObject?@ GetEventInstance( INativeInteger instanceid)

   このシーンオブジェクトが管理する、
   指定したインスタンスIDのイベントインスタンスオブジェクトを取得します。
   
戻り値:指定したインスタンスIDのイベントインスタンスへの参照か、なければ空参照を返します。

INativeInteger instanceid :取得するインスタンスID。

先頭へ


TileMapEventScene::GetEventInstanceListFromPos

public void GetEventInstanceListFromPos( INativeLogicUnit x, INativeLogicUnit y,
             editable PPointerArray<INativeEventObject> out)


   このシーンオブジェクトが管理するイベントインスタンスのうち、
   指定した論理XY座標に存在するイベントインスタンスオブジェクトを取得します。
   このメソッドはZ座標に関わらず、平面座標が該当すれば検出されます。
   
INativeLogicUnit x :取得する論理X座標。
INativeLogicUnit y :取得する論理Y座標。
editable PPointerArray<INativeEventObject> out :[出力]該当するインスタンスリストを出力するオブジェクト。

先頭へ


TileMapEventScene::GetEventInstanceListFromPos3D

public void GetEventInstanceListFromPos3D( INativeLogicUnit x, INativeLogicUnit y, INativeInteger z,
             editable PPointerArray<INativeEventObject> out)


   このシーンオブジェクトが管理するイベントインスタンスのうち、
   指定した論理XYZ座標に存在するイベントインスタンスオブジェクトを取得します。
   このメソッドはイベントインスタンスが同じレイヤーに存在しても、Z座標が異なる場合は取得対象になりません。
   
INativeLogicUnit x :取得する論理X座標。
INativeLogicUnit y :取得する論理Y座標。
INativeInteger z :取得する論理Z座標。
editable PPointerArray<INativeEventObject> out :[出力]該当するインスタンスリストを出力するオブジェクト。

先頭へ


TileMapEventScene::GetEventInstanceListFromArea

public void GetEventInstanceListFromArea(
             INativeLogicUnit x, INativeLogicUnit y, INativeLogicUnit width, INativeLogicUnit height,
             editable PPointerArray<INativeEventObject> out)


   このシーンオブジェクトが管理するイベントインスタンスのうち、
   指定した論理座標領域に存在するイベントインスタンスオブジェクトを取得します。
   このメソッドはZ座標に関わらず、平面座標が該当すれば検出されます。
   
INativeLogicUnit x :取得する領域の左上論理X座標。
INativeLogicUnit y :取得する領域の左上論理Y座標。
INativeLogicUnit width :取得する領域の横幅。
INativeLogicUnit height :取得する領域の縦幅。
editable PPointerArray<INativeEventObject> out :[出力]該当するインスタンスリストを出力するオブジェクト。

先頭へ


TileMapEventScene::GetEventInstanceList

public void GetEventInstanceList( INativeInteger eventid,editable PPointerArray<INativeEventObject> out)

   このシーンオブジェクトが管理する、
   指定したイベントIDのイベントインスタンスオブジェクトを取得します。
   
INativeInteger eventid :取得するイベントID。
editable PPointerArray<INativeEventObject> out :[出力]該当するインスタンスリストを出力するオブジェクト。

先頭へ


TileMapEventScene::GetEventInstanceListFromSID

public void GetEventInstanceListFromSID( INativeInteger serialid,editable PPointerArray<INativeEventObject> out)

   このシーンオブジェクトが管理する、
   指定したシリアルIDのイベントインスタンスオブジェクトを取得します。
   
INativeInteger serialid :取得するシリアルID。
editable PPointerArray<INativeEventObject> out :[出力]該当するインスタンスリストを出力するオブジェクト。

先頭へ


TileMapEventScene::GetEventInstanceListFromGroup

public void GetEventInstanceListFromGroup( INativeInteger target_group,editable PPointerArray<INativeEventObject> out)

   このシーンオブジェクトが管理する、
   指定したグループIDを一つ以上持つイベントインスタンスオブジェクトを取得します。
   
INativeInteger target_group :処理対象のイベントグループ。下位32ビットのビットフラグ。
editable PPointerArray<INativeEventObject> out :[出力]該当するインスタンスリストを出力するオブジェクト。

先頭へ


TileMapEventScene::GetAllEventInstanceList

public void GetAllEventInstanceList(editable PPointerArray<INativeEventObject> out)

   このシーンオブジェクトが管理する、
   全てのイベントインスタンスオブジェクトを取得します。
   
editable PPointerArray<INativeEventObject> out :[出力]該当するインスタンスリストを出力するオブジェクト。

先頭へ


TileMapEventScene::FilterEventInstanceList

public void FilterEventInstanceList(editable PPointerArray<INativeEventObject> list,
             INativeBitmap hittestmap, INativeLogicUnit base_x, INativeLogicUnit base_y,
             INativeInteger? type=NULL)const


   指定したインスタンスリストに対して、平面座標とグループ条件によるフィルタリングを行います。
   フィルタリング条件を満たさなかったイベントインスタンスはインスタンスリストから除外されます。
   
   このメソッドは hittestmap の (0,0) を (base_x,base_y) 、1ピクセルを1イベント論理座標単位として、
   インスタンスリスト内の各オブジェクトのイベント論理座標領域と重なる領域を抽出します。
   そして抽出された該当ピクセルの値を32bit値として、オブジェクトの比較対象項目との論理積を取り、
   その結果が1つでも0でない結果を持つ要素のみをインスタンスリストに残します。
   なお、否定系条件の場合は抽出したピクセル全てとの判定結果が0の要素のみを残します。
   
   このメソッドは非矩形の当たり判定やイベントの条件抽出に使用することができます。
   
editable PPointerArray<INativeEventObject> list :[入出力]フィルタリングするインスタンスリスト。
INativeBitmap hittestmap :フィルタリング条件に使用するビットマップ。
      このメソッドはビットマップを32bit値の二次元配列として扱います。
INativeLogicUnit base_x :ビットマップの左上基準X座標。
INativeLogicUnit base_y :ビットマップの左上基準Y座標。
INativeInteger? type=NULL :フィルタリング判定に使用する項目。以下のいずれか。
識別子項目
TileMapEventScene::EFT_GROUPイベント(存在)グループ(デフォルト)
TileMapEventScene::EFT_HITTEST被判定(接触)グループ
TileMapEventScene::EFT_BLOCK障害グループ
TileMapEventScene::EFT_THROUGH通過グループ
TileMapEventScene::EFT_GROUP_NOTイベント(存在)グループの否定
TileMapEventScene::EFT_HITTEST_NOT被判定(接触)グループの否定
TileMapEventScene::EFT_BLOCK_NOT障害グループの否定
TileMapEventScene::EFT_THROUGH_NOT通過グループの否定

先頭へ


TileMapEventScene::FindNearestEvent

public INativeEventObject?@ FindNearestEvent( INativeLogicUnit base_x, INativeLogicUnit base_y,
             PPointerArray<INativeEventObject>? list=NULL,
             INativeFloat? origin_x=NULL, INativeFloat? origin_y=NULL)const


   指定したインスタンスリストまたはこのシーンオブジェクトが管理する全イベントインスタンスのうち、
   指定した座標に最も近い位置に存在するイベントインスタンスを検索します。
   
   このメソッドは各イベントの論理存在矩形と origin_x origin_y の指定から
   各イベントの計算点を計算し、計算点と指定座標のユークリッド距離を使って距離を判断します。

戻り値:条件を満たすイベントインスタンスの参照か、なければ空参照。

INativeLogicUnit base_x :距離計算の原点となる論理X座標。
INativeLogicUnit base_y :距離計算の原点となる論理Y座標。
PPointerArray<INativeEventObject>? list=NULL :検索対象のインスタンスリスト。
      空参照を指定した場合はこのシーンオブジェクトが管理する全てのイベントインスタンスを対象とします。
INativeFloat? origin_x=NULL :距離計算するイベントの論理X座標の基準位置。
      0.0で論理存在矩形の左端、1.0で論理存在矩形の右端を距離計算の座標として処理します。
      空参照を指定した場合は0.5を指定したものとして扱います。
INativeFloat? origin_y=NULL :距離計算するイベントの論理Y座標の基準位置。
      0.0で論理存在矩形の上端、1.0で論理存在矩形の下端を距離計算の座標として処理します。
      空参照を指定した場合は0.5を指定したものとして扱います。

先頭へ


TileMapEventScene::FindFarthestEvent

public INativeEventObject?@ FindFarthestEvent( INativeLogicUnit base_x, INativeLogicUnit base_y,
             PPointerArray<INativeEventObject>? list=NULL,
             INativeFloat? origin_x=NULL, INativeFloat? origin_y=NULL)const


   指定したインスタンスリストまたはこのシーンオブジェクトが管理する全イベントインスタンスのうち、
   指定した座標から最も遠い位置に存在するイベントインスタンスを検索します。
   
   このメソッドは各イベントの論理存在矩形と origin_x origin_y の指定から
   各イベントの計算点を計算し、計算点と指定座標のユークリッド距離を使って距離を判断します。

戻り値:条件を満たすイベントインスタンスの参照か、なければ空参照。

INativeLogicUnit base_x :距離計算の原点となる論理X座標。
INativeLogicUnit base_y :距離計算の原点となる論理Y座標。
PPointerArray<INativeEventObject>? list=NULL :検索対象のインスタンスリスト。
      空参照を指定した場合はこのシーンオブジェクトが管理する全てのイベントインスタンスを対象とします。
INativeFloat? origin_x=NULL :距離計算するイベントの論理X座標の基準位置。
      0.0で論理存在矩形の左端、1.0で論理存在矩形の右端を距離計算の座標として処理します。
      空参照を指定した場合は0.5を指定したものとして扱います。
INativeFloat? origin_y=NULL :距離計算するイベントの論理Y座標の基準位置。
      0.0で論理存在矩形の上端、1.0で論理存在矩形の下端を距離計算の座標として処理します。
      空参照を指定した場合は0.5を指定したものとして扱います。

先頭へ


TileMapEventScene::SortEventInstanceListByDistance

public Bool SortEventInstanceListByDistance( INativeLogicUnit base_x, INativeLogicUnit base_y,
             editable PPointerArray<INativeEventObject> list,
             INativeFloat? origin_x=NULL, INativeFloat? origin_y=NULL)const


   指定したインスタンスリストを指定した座標からのユークリッド距離で昇順にソートします。
   このメソッドは距離を評価できなかった要素をインスタンスリストから削除します。
   
   このメソッドは各イベントの論理存在矩形と origin_x origin_y の指定から
   各イベントの計算点を計算し、計算点と指定座標のユークリッド距離を使って距離を判断します。

戻り値:処理に成功すると真を返します。

INativeLogicUnit base_x :距離計算の原点となる論理X座標。
INativeLogicUnit base_y :距離計算の原点となる論理Y座標。
editable PPointerArray<INativeEventObject> list :[入出力]ソート対象のインスタンスリスト。
INativeFloat? origin_x=NULL :距離計算するイベントの論理X座標の基準位置。
      0.0で論理存在矩形の左端、1.0で論理存在矩形の右端を距離計算の座標として処理します。
      空参照を指定した場合は0.5を指定したものとして扱います。
INativeFloat? origin_y=NULL :距離計算するイベントの論理Y座標の基準位置。
      0.0で論理存在矩形の上端、1.0で論理存在矩形の下端を距離計算の座標として処理します。
      空参照を指定した場合は0.5を指定したものとして扱います。

先頭へ


TileMapEventScene::HitTest_MovableCheck

public Bool HitTest_MovableCheck( INativeLogicUnit x, INativeLogicUnit y, INativeInteger z,
             INativeInteger chk_group, INativeEventObject? except_obj=NULL,
             INativeInteger? hittest_cond=NULL)const


   指定したイベントグループが指定した論理座標に移動することができるかを判定します。
   イベントグループは下位32ビットのビットフラグで指定し、
   タイルマップおよび他のイベントとの移動障害判定を処理した結果を返します。
   
   このメソッドは進入/離脱判定モードを考慮しませんが、
   chk_group の上位32ビットを使用して進入/離脱判定を行うことができます。
   (bit32〜39が進入、bit40〜47が離脱判定に使用されます)
   
   ヒットテスト条件を指定した場合、
   ヒットテスト判定結果に条件に指定した項目が含まれるイベントのみ移動障害判定を処理します。
   ヒットテスト条件を指定せず、除外オブジェクトを指定した場合、
   除外オブジェクトのイベントフラグを加味した判定を行います。
   ヒットテスト条件を指定せず、除外オブジェクトも指定しなかった場合はデフォルトの判定を行います。

戻り値:指定した座標に移動できる場合は真を返します。
   
INativeLogicUnit x :判定する論理X座標。
INativeLogicUnit y :判定する論理Y座標。
INativeInteger z :判定する論理Z座標。
INativeInteger chk_group :判定するイベントグループ。
INativeEventObject? except_obj=NULL :移動障害判定から除外するオブジェクト。
      空参照を指定した場合は全てのイベントオブジェクトを使用して移動障害判定を行います。
INativeInteger? hittest_cond=NULL :対象にするヒットテスト条件。以下のOR結合。
      空参照を指定した場合は本文参照のこと。
識別名内容
FGESCommonEventObject::HT_EXIST存在判定がある。
FGESCommonEventObject::HT_SAMEEXIST同位置に存在する。Z座標はレイヤーが同じであれば同位置とみなす。
FGESCommonEventObject::HT_BOTTOMEXIST平面座標は一致するが、指定位置より下に存在する。
FGESCommonEventObject::HT_TOPEXIST平面座標は一致するが、指定位置より上に存在する。
FGESCommonEventObject::HT_BLOCK指定したグループに対して障害判定がある。位置は考慮しない。
FGESCommonEventObject::HT_THROUGH指定したグループに対して通過判定がある。位置は考慮しない。

先頭へ


TileMapEventScene::HitTest_AreaMovableCheck

public Bool HitTest_AreaMovableCheck( INativeLogicUnit x, INativeLogicUnit y, INativeInteger z,
             INativeLogicUnit width, INativeLogicUnit height, INativeInteger chk_group,
             INativeEventObject? except_obj=NULL, INativeInteger? hittest_cond=NULL)const


   指定したイベントグループが指定した領域に移動することができるかを判定します。
   このメソッドは座標および大きさの指定に論理座標系を使用します。
   イベントグループは下位32ビットのビットフラグで指定し、
   タイルマップおよび他のイベントとの移動障害判定を処理した結果を返します。

   このメソッドは進入/離脱判定モードを考慮しませんが、
   chk_group の上位32ビットを使用して進入/離脱判定を行うことができます。
   (bit32〜39が進入、bit40〜47が離脱判定に使用されます)
   
   ヒットテスト条件を指定した場合、
   ヒットテスト判定結果に条件に指定した項目が含まれるイベントのみ移動障害判定を処理します。
   ヒットテスト条件を指定せず、除外オブジェクトを指定した場合、
   除外オブジェクトのイベントフラグを加味した判定を行います。
   ヒットテスト条件を指定せず、除外オブジェクトも指定しなかった場合はデフォルトの判定を行います。

戻り値:指定した領域に移動できる場合は真を返します。
   
INativeLogicUnit x :判定する左上論理X座標。
INativeLogicUnit y :判定する左上論理Y座標。
INativeInteger z :判定する論理Z座標。
INativeLogicUnit width :判定する横幅。
INativeLogicUnit height :判定する縦幅。
INativeInteger chk_group :判定するイベントグループ。
INativeEventObject? except_obj=NULL :移動障害判定から除外するオブジェクト。
      空参照を指定した場合は全てのイベントオブジェクトを使用して移動障害判定を行います。
INativeInteger? hittest_cond=NULL :対象にするヒットテスト条件。以下のOR結合。
      空参照を指定した場合は本文参照のこと。
識別名内容
FGESCommonEventObject::HT_EXIST存在判定がある。
FGESCommonEventObject::HT_SAMEEXIST同位置に存在する。Z座標はレイヤーが同じであれば同位置とみなす。
FGESCommonEventObject::HT_BOTTOMEXIST平面座標は一致するが、指定位置より下に存在する。
FGESCommonEventObject::HT_TOPEXIST平面座標は一致するが、指定位置より上に存在する。
FGESCommonEventObject::HT_BLOCK指定したグループに対して障害判定がある。位置は考慮しない。
FGESCommonEventObject::HT_THROUGH指定したグループに対して通過判定がある。位置は考慮しない。

先頭へ


TileMapEventScene::HitTest_MovableCheckDir

public Bool HitTest_MovableCheckDir( INativeLogicUnit x, INativeLogicUnit y, INativeInteger z,
             INativeInteger dir, INativeInteger chk_group, INativeEventObject? except_obj=NULL,
             INativeInteger? hittest_cond=NULL)const


   指定したイベントグループが指定した論理座標から指定方向に移動することができるかを判定します。
   イベントグループは下位32ビットのビットフラグで指定し、
   タイルマップおよび他のイベントとの移動障害判定を処理した結果を返します。
   
   このメソッドはシステムの進入/離脱判定モードに従い進入/離脱判定を行います。
   離脱判定が有効な場合、離脱判定のみが先行して実行され、離脱可能判定後に進入判定が行われます。
   
   ヒットテスト条件を指定した場合、
   ヒットテスト判定結果に条件に指定した項目が含まれるイベントのみ移動障害判定を処理します。
   ヒットテスト条件を指定せず、除外オブジェクトを指定した場合、
   除外オブジェクトのイベントフラグを加味した判定を行います。
   ヒットテスト条件を指定せず、除外オブジェクトも指定しなかった場合はデフォルトの判定を行います。

戻り値:指定した座標に移動できる場合は真を返します。
   
INativeLogicUnit x :判定する論理X座標。
INativeLogicUnit y :判定する論理Y座標。
INativeInteger z :判定する論理Z座標。
INativeInteger dir :移動方向を示す方向ID。
      方向IDは上を0とし、45度単位で時計回りに番号が増加して左上で7となります。
INativeInteger chk_group :判定するイベントグループ。
INativeEventObject? except_obj=NULL :移動障害判定から除外するオブジェクト。
      空参照を指定した場合は全てのイベントオブジェクトを使用して移動障害判定を行います。
INativeInteger? hittest_cond=NULL :対象にするヒットテスト条件。以下のOR結合。
      空参照を指定した場合は本文参照のこと。
識別名内容
FGESCommonEventObject::HT_EXIST存在判定がある。
FGESCommonEventObject::HT_SAMEEXIST同位置に存在する。Z座標はレイヤーが同じであれば同位置とみなす。
FGESCommonEventObject::HT_BOTTOMEXIST平面座標は一致するが、指定位置より下に存在する。
FGESCommonEventObject::HT_TOPEXIST平面座標は一致するが、指定位置より上に存在する。
FGESCommonEventObject::HT_BLOCK指定したグループに対して障害判定がある。位置は考慮しない。
FGESCommonEventObject::HT_THROUGH指定したグループに対して通過判定がある。位置は考慮しない。

先頭へ


TileMapEventScene::HitTest_AreaMovableCheckDir

public Bool HitTest_AreaMovableCheckDir( INativeLogicUnit x, INativeLogicUnit y, INativeInteger z,
             INativeInteger dir, INativeLogicUnit width, INativeLogicUnit height,
             INativeInteger chk_group, INativeEventObject? except_obj=NULL, INativeInteger? hittest_cond=NULL)const


   指定したイベントグループが指定した論理座標から指定方向に移動することができるかを判定します。
   このメソッドは座標および大きさの指定に論理座標系を使用します。
   イベントグループは下位32ビットのビットフラグで指定し、
   タイルマップおよび他のイベントとの移動障害判定を処理した結果を返します。

   このメソッドはシステムの進入/離脱判定モードに従い進入/離脱判定を行います。
   離脱判定が有効な場合、離脱判定のみが先行して実行され、離脱可能判定後に進入判定が行われます。
   
   ヒットテスト条件を指定した場合、
   ヒットテスト判定結果に条件に指定した項目が含まれるイベントのみ移動障害判定を処理します。
   ヒットテスト条件を指定せず、除外オブジェクトを指定した場合、
   除外オブジェクトのイベントフラグを加味した判定を行います。
   ヒットテスト条件を指定せず、除外オブジェクトも指定しなかった場合はデフォルトの判定を行います。

戻り値:指定した領域に移動できる場合は真を返します。
   
INativeLogicUnit x :判定する左上論理X座標。
INativeLogicUnit y :判定する左上論理Y座標。
INativeInteger z :判定する論理Z座標。
INativeInteger dir :移動方向を示す方向ID。
      方向IDは上を0とし、45度単位で時計回りに番号が増加して左上で7となります。
INativeLogicUnit width :判定する横幅。
INativeLogicUnit height :判定する縦幅。
INativeInteger chk_group :判定するイベントグループ。
INativeEventObject? except_obj=NULL :移動障害判定から除外するオブジェクト。
      空参照を指定した場合は全てのイベントオブジェクトを使用して移動障害判定を行います。
INativeInteger? hittest_cond=NULL :対象にするヒットテスト条件。以下のOR結合。
      空参照を指定した場合は本文参照のこと。
識別名内容
FGESCommonEventObject::HT_EXIST存在判定がある。
FGESCommonEventObject::HT_SAMEEXIST同位置に存在する。Z座標はレイヤーが同じであれば同位置とみなす。
FGESCommonEventObject::HT_BOTTOMEXIST平面座標は一致するが、指定位置より下に存在する。
FGESCommonEventObject::HT_TOPEXIST平面座標は一致するが、指定位置より上に存在する。
FGESCommonEventObject::HT_BLOCK指定したグループに対して障害判定がある。位置は考慮しない。
FGESCommonEventObject::HT_THROUGH指定したグループに対して通過判定がある。位置は考慮しない。

先頭へ


TileMapEventScene::SendTriggerPos

public Integer SendTriggerPos(editable INativeEventObject hostevent_obj,
             INativeLogicUnit x, INativeLogicUnit y, INativeInteger z, INativeInteger flags)


   指定した論理座標にイベントトリガーを発生させます。
   トリガーされるインスタンスおよびハンドラはインスタンスタイプと座標とフラグによって決定され、
   条件を満たし、ロックされていない全てのインスタンスでハンドラが呼び出されます。
   
   このメソッドは hostevent_obj と指定した座標に存在したインスタンスをペアリングしてトリガーします。
   ペアリングされた二つのインスタンスのうち少なくとも一方でハンドラが起動された場合に
   トリガーの成功として扱われます。

戻り値:この呼び出しによってトリガーに成功した数を返します。
   
editable INativeEventObject hostevent_obj :[入出力]トリガーのホストオブジェクト。
INativeLogicUnit x :イベントトリガーを発行する論理X座標。
INativeLogicUnit y :イベントトリガーを発行する論理Y座標。
INativeInteger z :イベントトリガーを発行する論理Z座標。
INativeInteger flags :トリガーの種類を以下の各グループのOR結合で指定します。
トリガーの種類:
識別名内容
TileMapEventScene::TRIGGER_AUTO「自動起動」トリガー
TileMapEventScene::TRIGGER_CHECK「調べる」トリガー
TileMapEventScene::TRIGGER_TOUCH「接触」トリガー
TileMapEventScene::TRIGGER_EXTRA「拡張」トリガー
追加情報:
識別名内容
TileMapEventScene::TRIGGER_OVERLAP「同位置」起動。指定しない場合は「遠隔」起動扱い。

先頭へ


TileMapEventScene::SendTriggerArea

public Integer SendTriggerArea(editable INativeEventObject hostevent_obj,
             INativeLogicUnit x, INativeLogicUnit y, INativeInteger z,
             INativeLogicUnit width, INativeLogicUnit height, INativeInteger flags)


   指定した領域にイベントトリガーを発生させます。
   このメソッドは座標および大きさの指定に論理座標系を使用します。
   トリガーされるインスタンスおよびハンドラはインスタンスタイプと座標とフラグによって決定され、
   条件を満たし、ロックされていない全てのインスタンスでハンドラが呼び出されます。
   
   このメソッドは hostevent_obj と指定した座標に存在したインスタンスをペアリングしてトリガーします。
   ペアリングされた二つのインスタンスのうち少なくとも一方でハンドラが起動された場合に
   トリガーの成功として扱われます。

戻り値:この呼び出しによってトリガーに成功した数を返します。
   
editable INativeEventObject hostevent_obj :[入出力]トリガーのホストオブジェクト。
INativeLogicUnit x :イベントトリガーを発行する左上論理X座標。
INativeLogicUnit y :イベントトリガーを発行する左上論理Y座標。
INativeInteger z :イベントトリガーを発行する論理Z座標。
INativeLogicUnit width :イベントトリガーを発行する横幅。
INativeLogicUnit height :イベントトリガーを発行する縦幅。
INativeInteger flags :トリガーの種類を以下の各グループのOR結合で指定します。
トリガーの種類:
識別名内容
TileMapEventScene::TRIGGER_AUTO「自動起動」トリガー
TileMapEventScene::TRIGGER_CHECK「調べる」トリガー
TileMapEventScene::TRIGGER_TOUCH「接触」トリガー
TileMapEventScene::TRIGGER_EXTRA「拡張」トリガー
追加情報:
識別名内容
TileMapEventScene::TRIGGER_OVERLAP「同位置」起動。指定しない場合は「遠隔」起動扱い。

先頭へ


TileMapEventScene::ConvertLogicPosX

public Integer ConvertLogicPosX( INativeLogicUnit base_x, INativeLogicUnit target_x)const

   base_x から見た target_x の論理相対X座標を計算します。
   このメソッドはマッピングモードを考慮し、条件を満たす座標の中から最も近い座標を返します。
   このメソッドは論理座標に基づいて計算を行い、方向を符号(負値=左、正値=右)で返します。
   
   このメソッドは標準論理単位精度と詳細論理単位精度が異なる場合、端数が丸められます。
   正確な判定が必要な場合は ConvertLogicPosXF を使用してください。

戻り値:二点間の相対X座標を返します。
   
INativeLogicUnit base_x :計算原点となる論理X座標。
INativeLogicUnit target_x :相対座標を計算する論理X座標。

先頭へ


TileMapEventScene::ConvertLogicPosY

public Integer ConvertLogicPosY( INativeLogicUnit base_y, INativeLogicUnit target_y)const

   base_y から見た target_y の論理相対Y座標を計算します。
   このメソッドはマッピングモードを考慮し、条件を満たす座標の中から最も近い座標を返します。
   このメソッドは論理座標に基づいて計算を行い、方向を符号(負値=上、正値=下)で返します。

   このメソッドは標準論理単位精度と詳細論理単位精度が異なる場合、端数が丸められます。
   正確な判定が必要な場合は ConvertLogicPosYF を使用してください。

戻り値:二点間の相対Y座標を返します。
   
INativeLogicUnit base_y :計算原点となる論理Y座標。
INativeLogicUnit target_y :相対座標を計算する論理Y座標。

先頭へ


TileMapEventScene::ConvertLogicPosXF

public Float ConvertLogicPosXF( INativeLogicUnit base_x, INativeLogicUnit target_x)const

   base_x から見た target_x の論理相対X座標を計算します。
   このメソッドはマッピングモードを考慮し、条件を満たす座標の中から最も近い座標を返します。
   このメソッドは論理座標に基づいて計算を行い、方向を符号(負値=左、正値=右)で返します。

戻り値:二点間の相対X座標を返します。
   
INativeLogicUnit base_x :計算原点となる論理X座標。
INativeLogicUnit target_x :相対座標を計算する論理X座標。

先頭へ


TileMapEventScene::ConvertLogicPosYF

public Float ConvertLogicPosYF( INativeLogicUnit base_y, INativeLogicUnit target_y)const

   base_y から見た target_y の論理相対Y座標を計算します。
   このメソッドはマッピングモードを考慮し、条件を満たす座標の中から最も近い座標を返します。
   このメソッドは論理座標に基づいて計算を行い、方向を符号(負値=上、正値=下)で返します。

戻り値:二点間の相対Y座標を返します。
   
INativeLogicUnit base_y :計算原点となる論理Y座標。
INativeLogicUnit target_y :相対座標を計算する論理Y座標。

先頭へ


TileMapEventScene::ConvertDrawPosX

public Integer ConvertDrawPosX( INativeInteger base_x, INativeInteger target_x)const

   base_x から見た target_x の描画相対X座標を計算します。
   このメソッドはマッピングモードを考慮し、条件を満たす座標の中から最も近い座標を返します。
   このメソッドは描画座標に基づいて計算を行い、方向を符号(負値=左、正値=右)で返します。

戻り値:二点間の相対X座標を返します。
   
INativeInteger base_x :計算原点となる描画X座標。
INativeInteger target_x :相対座標を計算する描画X座標。

先頭へ


TileMapEventScene::ConvertDrawPosY

public Integer ConvertDrawPosY( INativeInteger base_y, INativeInteger target_y)const

   base_y から見た target_y の描画相対Y座標を計算します。
   このメソッドはマッピングモードを考慮し、条件を満たす座標の中から最も近い座標を返します。
   このメソッドは描画座標に基づいて計算を行い、方向を符号(負値=上、正値=下)で返します。

戻り値:二点間の相対Y座標を返します。
   
INativeInteger base_y :計算原点となる描画Y座標。
INativeInteger target_y :相対座標を計算する描画Y座標。

先頭へ


TileMapEventScene::ConvertTileMapNearPos

public Bool ConvertTileMapNearPos(
            editable INativeInteger? x,editable INativeInteger? y)const


   指定した描画座標をループを考慮して接続しているタイルマップウィンドウの表示位置に近い描画座標に変換します。
   このメソッドは興味がない座標軸の引数を空参照にすることができます。

戻り値:処理に成功すると真を返します。

editable INativeInteger? x :[入出力]処理する描画X座標。
         空参照を指定した場合は無視します。
editable INativeInteger? y :[入出力]処理する描画Y座標。
         空参照を指定した場合は無視します。

先頭へ


TileMapEventScene::ConvertTileMapViewPos

public Bool ConvertTileMapViewPos(
            editable INativeInteger? x,editable INativeInteger? y)const


   指定した描画座標をループを考慮して接続しているタイルマップウィンドウの表示位置に近い画面座標に変換します。
   画面座標はピクセル単位で、接続しているタイルマップウィンドウのローカル座標系での描画座標を示します。
   このメソッドは興味がない座標軸の引数を空参照にすることができます。

戻り値:取得に成功すると真を返します。

editable INativeInteger? x :[入出力]処理する描画X座標。
         空参照を指定した場合は無視します。
editable INativeInteger? y :[入出力]処理する描画Y座標。
         空参照を指定した場合は無視します。

先頭へ


TileMapEventScene::CalcDirection

public Integer CalcDirection( INativeLogicUnit base_x, INativeLogicUnit base_y,
             INativeLogicUnit target_x, INativeLogicUnit target_y)const


   (base_x,base_y) から (target_x,target_y) への方向を計算します。
   このメソッドはマッピングモードを考慮し、条件を満たす点の中から最も近い点への方向IDを返します。
   このメソッドはゲームシステムが8方向モードに設定されていない場合、上下左右の方向のみ返します。
   方向IDは上を0とし、45度単位で時計回りに番号が増加して左上で7となります。

戻り値:計算原点から目標点への方向IDを返します。方向が計算できない場合は0xFFFF_FFFFを返します。
   
INativeLogicUnit base_x :計算原点となる論理X座標。
INativeLogicUnit base_y :計算原点となる論理Y座標。
INativeLogicUnit target_x :方向を計算する論理X座標。
INativeLogicUnit target_y :方向を計算する論理Y座標。

先頭へ


TileMapEventScene::FindShortestRouteDirection

public Integer FindShortestRouteDirection(
             INativeLogicUnit start_x, INativeLogicUnit start_y, INativeInteger z,
             INativeLogicUnit width, INativeLogicUnit height,
             INativeLogicUnit to_x, INativeLogicUnit to_y,
             INativeLogicUnit to_width, INativeLogicUnit to_height, INativeInteger chk_group,
             INativeEventObject? except_obj=NULL)const


   (start_x,start_y,z) から (to_x,to_y,z) へ向かう一歩目の方向を探索します。
   この時起点と終点はそれぞれ範囲を持つものとして扱われ、接触できれば到達とみなします。
   
   このメソッドは指定した存在グループによる移動障害判定を行い、
   最短経路探索によって方向を導出した上で、その一歩目の方向IDを返します。
   最短経路探索で到達経路が検出できなかった場合、0xFFFF_FFFFを返します。
   
   最短経路探索処理は重いため、多用すると処理落ちの原因になります。
   また、起点を中心とする64x64の範囲を最大探索範囲とし、
   目標点までの距離が24まで、探索深度255までの制限があります。
   そのため、到達に大回りが必要な場合などは実際には到達できても検出不能が返されます。
   
   このメソッドはマッピングモードを考慮して探索します。
   このメソッドはゲームシステムが8方向モードに設定されていても、上下左右の方向のみ返します。
   方向IDは上を0とし、45度単位で時計回りに番号が増加して左上で7となります。

   このメソッドはシステムの進入/離脱判定モードに従い進入/離脱判定を行います。
   離脱判定が有効な場合、離脱判定のみが先行して実行され、離脱可能判定後に進入判定が行われます。
   
戻り値:目標位置へ向かう方向IDを返します。方向が検出できない場合は0xFFFF_FFFFを返します。
   
INativeLogicUnit start_x :探索起点となる論理X座標。
INativeLogicUnit start_y :探索起点となる論理Y座標。
INativeInteger z :探索する論理Z座標。
INativeLogicUnit width :移動障害判定を行う横幅。1〜8192の範囲。
INativeLogicUnit height :移動障害判定を行う縦幅。1〜8192の範囲。
INativeLogicUnit to_x :目標範囲の左上論理X座標。
INativeLogicUnit to_y :目標範囲の左上論理Y座標。
INativeLogicUnit to_width :目標範囲の横幅。1〜8192の範囲。
INativeLogicUnit to_height :目標範囲の縦幅。1〜8192の範囲。
INativeInteger chk_group :移動障害判定を行うグループID。下位32ビットのビットフラグ。
INativeEventObject? except_obj=NULL :移動障害判定から除外するオブジェクト。
      空参照を指定した場合は全てのイベントオブジェクトを使用して移動障害判定を行います。

先頭へ


TileMapEventScene::FindShortestRoute

public Bool FindShortestRoute( INativeLogicUnit start_x, INativeLogicUnit start_y, INativeInteger z,
             INativeLogicUnit width, INativeLogicUnit height,
             INativeLogicUnit to_x, INativeLogicUnit to_y,
             INativeLogicUnit to_width, INativeLogicUnit to_height, INativeInteger chk_group,
             INativeEventObject? except_obj, INativeInteger costlimit,
             editable PIntArray out_route, Binary? costmap=NULL)const


   (start_x,start_y,z) から (to_x,to_y,z) へ向かうルートを探索します。
   この時起点と終点はそれぞれ範囲を持つものとして扱われ、接触できれば到達とみなします。
   
   このメソッドは指定した存在グループによる移動障害判定を使用して
   最短経路探索を行い、検出されたルートを out_route に出力します。
   
   最短経路探索処理は重いため、多用すると処理落ちの原因になります。
   また、起点を中心とする64x64の範囲を最大探索範囲とし、
   目標点までの距離が24までの制限があります。
   
   このメソッドは FindShortestRouteDirection と異なり、コストマップによる重み付き探索に対応しています。
   そのため、 FindShortestRouteDirection よりも探索が重くなっています。
   
   このメソッドはマッピングモードを考慮して探索します。
   このメソッドはゲームシステムが8方向モードに設定されていても、上下左右の方向のみ使用します。
   方向IDは上を0とし、45度単位で時計回りに番号が増加して左上で7となります。

   このメソッドはシステムの進入/離脱判定モードに従い進入/離脱判定を行います。
   離脱判定が有効な場合、離脱判定のみが先行して実行され、離脱可能判定後に進入判定が行われます。
   
戻り値:指定点に到達できた場合は真を返します。
   このメソッドは1コスト以上残した状態で指定範囲と隣接することができれば到達とみなします。
   
INativeLogicUnit start_x :探索起点となる論理X座標。
INativeLogicUnit start_y :探索起点となる論理Y座標。
INativeInteger z :探索する論理Z座標。
INativeLogicUnit width :移動障害判定を行う横幅。1〜8192の範囲。
INativeLogicUnit height :移動障害判定を行う縦幅。1〜8192の範囲。
INativeLogicUnit to_x :目標範囲の左上論理X座標。
INativeLogicUnit to_y :目標範囲の左上論理Y座標。
INativeLogicUnit to_width :目標範囲の横幅。1〜8192の範囲。
INativeLogicUnit to_height :目標範囲の縦幅。1〜8192の範囲。
INativeInteger chk_group :移動障害判定を行うグループID。下位32ビットのビットフラグ。
INativeEventObject? except_obj :移動障害判定から除外するオブジェクト。
      空参照を指定した場合は全てのイベントオブジェクトを使用して移動障害判定を行います。
INativeInteger costlimit :探索上限コスト。同値までは有効です。1〜524287の範囲。
editable PIntArray out_route :[出力]到達できた場合の経路を起点からの方向IDの配列として出力します。
Binary? costmap=NULL :各マスに移動するためのコストマップ。
      探索起点を (32,32) として、 [y*64+x] の形で64*64、4096バイト、バイト単位でコストを指定します。
      コストの値として使用できるのは1〜250の範囲です。これ以外の値を与えた場合正常な結果を返さない可能性があります。
      空参照を指定した場合は全て1として扱います。

先頭へ


TileMapEventScene::GenerateMovableMap

public void GenerateMovableMap( INativeLogicUnit start_x, INativeLogicUnit start_y, INativeInteger z,
             INativeLogicUnit width, INativeLogicUnit height, INativeInteger chk_group,
             INativeEventObject? except_obj, INativeInteger costlimit,
             editable Bitmap out_map, INativeColor color, Binary? costmap=NULL)const


   (start_x,start_y,z) から指定コスト以内で移動できる範囲を探索します。
   このメソッドは指定した存在グループによる移動障害判定を使用して
   最短経路探索を行い、移動可能な範囲を out_map に出力します。
   このメソッドはイベント論理座標1を1ピクセルとして扱います。

   このメソッドは移動可能な範囲として検出された相対座標に対応する out_map のピクセルデータを color に変更します。
   out_map は64*64の大きさのビットマップ画像を事前に作成しておく必要があり、
   探索起点を (32,32) として (1,1)〜(62,62) の範囲に書き込みます。
   color はアルファ値の情報も含み、移動不可な位置に対応するピクセルのデータは変更されません。
   
   最短経路探索処理は重いため、多用すると処理落ちの原因になります。
   また、起点を中心とする64x64の範囲を最大探索範囲とします。
   
   このメソッドは FindShortestRouteDirection と異なり、コストマップによる重み付き探索に対応しています。
   そのため、 FindShortestRouteDirection よりも探索が重くなっています。
   
   このメソッドはマッピングモードを考慮して探索を行います。
   このメソッドはゲームシステムが8方向モードに設定されていても、上下左右の方向のみ使用します。
   方向IDは上を0とし、45度単位で時計回りに番号が増加して左上で7となります。

   このメソッドはシステムの進入/離脱判定モードに従い進入/離脱判定を行います。
   離脱判定が有効な場合、離脱判定のみが先行して実行され、離脱可能判定後に進入判定が行われます。
   
INativeLogicUnit start_x :探索起点となる論理X座標。
INativeLogicUnit start_y :探索起点となる論理Y座標。
INativeInteger z :探索する論理Z座標。
INativeLogicUnit width :移動障害判定を行う横幅。1〜32の範囲。
INativeLogicUnit height :移動障害判定を行う縦幅。1〜32の範囲。
INativeInteger chk_group :移動障害判定を行うグループID。下位32ビットのビットフラグ。
INativeEventObject? except_obj :移動障害判定から除外するオブジェクト。
      空参照を指定した場合は全てのイベントオブジェクトを使用して移動障害判定を行います。
INativeInteger costlimit :探索上限コスト。同値までは有効です。1〜524287の範囲。
editable Bitmap out_map :[出力]移動できる位置に対応するピクセルを変更するビットマップ画像。
INativeColor color :移動できた位置のピクセルに書き込むピクセルデータ。
Binary? costmap=NULL :各マスに移動するためのコストマップ。
      探索起点を (32,32) として、 [y*64+x] の形で64*64、4096バイト、バイト単位でコストを指定します。
      コストの値として使用できるのは1〜250の範囲です。これ以外の値を与えた場合正常な結果を返さない可能性があります。
      空参照を指定した場合は全て1として扱います。

先頭へ


TileMapEventScene::LogicMoveEventObject

public Bool LogicMoveEventObject(editable INativeEventObject move_obj, INativeInteger direction,
             INativeInteger? steps=NULL, INativeInteger? move_frame=NULL, INativeInteger? easing=NULL)


   指定したイベントオブジェクトを指定した方向へ移動させます。
   このメソッドは移動障害判定を処理し、移動が可能な場合だけ移動処理を行います。
   また、指定した歩数分移動できない場合、移動できる位置までの移動を処理し、成功したものとして扱います。
   
   このメソッドは指定したイベントオブジェクトやこのシーンオブジェクトに
   捕獲ハンドラが設定されている場合、捕獲ハンドラの処理を行います。

   移動に成功した場合、 move_obj の論理座標は直ちに更新され、
   描画状態は move_obj の設定にしたがって追従されます。
   描画移動の完了までの時間は move_obj の GetDrawMoveRestFrame を使用して取得します。
   
   このメソッドは指定したイベントが描画移動中であった場合、描画移動状態を上書きします。
   上書きではなく予約として処理したい場合、 move_obj の ReserveLogicMove を使用します。
   このメソッドの呼び出しによって接触トリガーが発動することはありません。
   
   このメソッドはシステムの進入/離脱判定モードに従い進入/離脱判定を行います。
   離脱判定が有効な場合、離脱判定のみが先行して実行され、離脱可能判定後に進入判定が行われます。
   
戻り値:移動に成功した場合真を返します。
   
editable INativeEventObject hostevent_obj :[入出力]移動させるイベントオブジェクト。
INativeInteger direction :移動させる方向ID。
         方向IDは上を0とし、45度単位で時計回りに番号が増加して左上で7となります。
INativeInteger? steps=NULL :移動させる歩数。
         空参照を指定した場合は move_frame から1フレームで必要な歩数を端数切り上げで求めて使用します。
INativeInteger? move_frame=NULL :描画移動に掛けるフレーム数。
         空参照を指定した場合は移動させるオブジェクトの描画移動時間を指定したものとして扱います。
INativeInteger? easing=NULL :推移時のイージング処理を指定します。
         空参照を指定した場合は移動させるオブジェクトのデフォルトイージングを使用します。
         指定できる識別子は EasingLib#計算式と識別子の対応 を参照してください。

先頭へ


TileMapEventScene::UpdateAllEventState

public Bool UpdateAllEventState()

   このシーンオブジェクトが管理している全てのイベントインスタンスの状態更新ハンドラを呼び出します。
   イベントインスタンスが状態更新ハンドラを定義していない場合、
   システム定義の状態更新ハンドラにより条件を満たすイベント状態のうち、
   一番IDの大きいイベント状態に設定されます。
   
   この処理によって状態が変更された場合、イベントインスタンスの状態変化ハンドラ、
   および変更された状態の「この状態に変化した」ハンドラが呼び出されます。
   また、イベント状態によって定義されている項目は変化後のイベント状態の指定に更新されます。
   
戻り値:処理に成功した場合真を返します。
   
先頭へ


TileMapEventScene::UpdateAllEventsAnimation

public Bool UpdateAllEventsAnimation()

   このシーンオブジェクトが管理している全てのイベントインスタンスのアニメーションを更新します。
   このメソッドは非アクティブなシーンのアニメーションを進めるために使用できます。
   
戻り値:処理に成功した場合真を返します。
   
先頭へ


TileMapEventScene::UpdateAllSpriteEventsAnimation

public Bool UpdateAllSpriteEventsAnimation()

   このシーンオブジェクトが管理している全てのスプライトイベントインスタンスのアニメーションを更新します。
   このメソッドは非アクティブなシーンのアニメーションを進めるために使用できます。
   
戻り値:処理に成功した場合真を返します。
   
先頭へ


TileMapEventScene::SetEventArea

public Bool SetEventArea( INativeInteger width, INativeInteger height,
             INativeBool horizon_loop, INativeBool vertical_loop)


   イベント処理を行うイベント論理座標空間を設定します。
   ここで指定した範囲外にもイベントを配置すること自体は可能ですが、
   一部の処理は正常に動作しない可能性があります。
   
   このメソッドはイベント詳細論理単位で指定します。
   標準論理単位ではないことに注意してください。
   
   ここで設定するループ属性はイベント処理全般のループ制御に使用されます。
   タイルマップとイベントのループ属性は同じに設定してください。

戻り値:設定に成功すると真を返します。
   
INativeInteger width :設定するイベント詳細論理座標空間の横幅。
INativeInteger height :設定するイベント詳細論理座標空間の縦幅。
INativeBool horizon_loop :横軸をループ処理する場合真を指定します。
INativeBool vertical_loop :縦軸をループ処理する場合真を指定します。

先頭へ


TileMapEventScene::SetEventMoveLock

public Bool SetEventMoveLock( INativeInteger? basemove_lock, INativeInteger? drawmove_lock,
             INativeInteger? pixelmove_lock=NULL)


   このシーンオブジェクトが管理する全てのイベントインスタンスの自律制御を設定します。
   このメソッドはシーンオブジェクトに対して設定し、呼び出す度に設定を上書きします。
   基本移動をロックした場合、ムーブコマンドが新たに実行可能な状態で、
   基本移動が設定されているイベントインスタンスの基本移動ムーブコマンドが実行開始されることを停止します。
   基本移動をロックしても実行中や予約済みのムーブコマンドの処理は停止しません。
   描画移動をロックした場合、ムーブコマンド処理やインスタンスの描画移動更新処理自体を停止します。
   移動中に描画移動がロックされた場合、インスタンスはロックが解除されるまでその位置に留まります。
   ピクセル移動をロックした場合、ピクセル移動の自律更新のみが停止されます。
   基本移動や描画移動の処理は停止しません。
   
   なお、ここで「ロックしている」とはロックレベルが1以上の状態を指します。

戻り値:設定に成功すると真を返します。
   
INativeInteger? basemove_lock :基本移動のロックレベルを指定します。
         基本移動のロックを解除する場合0を指定します。
         空参照を指定した場合は現在のロックレベルを変更しません。
INativeInteger? drawmove_lock :描画移動のロックレベルを指定します。
         描画移動のロックを解除する場合0を指定します。
         空参照を指定した場合は現在のロックレベルを変更しません。
INativeInteger? pixelmove_lock=NULL :ピクセル移動のロックレベルを指定します。
         ピクセル移動のロックを解除する場合0を指定します。
         空参照を指定した場合は現在のロックレベルを変更しません。

先頭へ


TileMapEventScene::GetEventBaseMoveLock

public Integer GetEventBaseMoveLock()const

   このシーンオブジェクトが管理する全てのイベントインスタンスの自律制御を取得します。
   このメソッドはシーンオブジェクトに対して設定されている基本移動ロックレベルを取得します。
   基本移動がロックされている場合、ムーブコマンドが新たに実行可能な状態で、
   基本移動が設定されているイベントインスタンスの基本移動ムーブコマンドが実行開始されるのを抑止します。
   基本移動をロックしても実行中や予約済みのムーブコマンドの処理は停止しません。

   なお、ここで「ロックしている」とはロックレベルが1以上の状態を指します。

戻り値:基本移動のロックレベルを返します。
   
先頭へ


TileMapEventScene::GetEventDrawMoveLock

public Integer GetEventDrawMoveLock()const

   このシーンオブジェクトが管理する全てのイベントインスタンスの自律制御を取得します。
   このメソッドはシーンオブジェクトに対して設定されている描画移動ロックレベルを取得します。
   描画移動がロックされている場合、ムーブコマンド処理やインスタンスの描画移動更新処理自体を抑止します。
   移動中に描画移動がロックされた場合、インスタンスはロックが解除されるまでその位置に留まります。

   なお、ここで「ロックしている」とはロックレベルが1以上の状態を指します。

戻り値:描画移動のロックレベルを返します。
   
先頭へ


TileMapEventScene::GetEventPixelMoveLock

public Integer GetEventPixelMoveLock()const

   このシーンオブジェクトが管理する全てのイベントインスタンスの自律制御を取得します。
   このメソッドはシーンオブジェクトに対して設定されているピクセル移動ロックレベルを取得します。
   ピクセル移動がロックされている場合、ピクセル移動ベクトルの適用処理やピクセル移動処理の実行が停止されます。

   なお、ここで「ロックしている」とはロックレベルが1以上の状態を指します。

戻り値:ピクセル移動のロックレベルを返します。
   
先頭へ


TileMapEventScene::LockEventBaseMove

public Bool LockEventBaseMove()

   このシーンオブジェクトが管理する全てのイベントインスタンスの基本移動処理のロックレベルを1上げます。
   
   基本移動がロックされている場合、ムーブコマンドが新たに実行可能な状態で、
   基本移動が設定されているイベントインスタンスの基本移動ムーブコマンドが実行開始されるのを抑止します。
   基本移動をロックしても実行中の基本移動ムーブコマンドは中断可能地点までは実行されます。
   また、移動予約しているムーブコマンドの処理は停止しません。
   
   なお、ここで「ロックしている」とはロックレベルが1以上の状態を指します。

戻り値:処理に成功すると真を返します。
   
先頭へ


TileMapEventScene::UnLockEventBaseMove

public Bool UnLockEventBaseMove()

   このシーンオブジェクトが管理する全てのイベントインスタンスの基本移動処理のロックレベルを1下げます。
   このメソッドは基本移動処理が現在ロックされていなかった場合失敗します。
   
   基本移動がロックされている場合、ムーブコマンドが新たに実行可能な状態で、
   基本移動が設定されているイベントインスタンスの基本移動ムーブコマンドが実行開始されるのを抑止します。
   基本移動をロックしても実行中の基本移動ムーブコマンドは中断可能地点までは実行されます。
   また、移動予約しているムーブコマンドの処理は停止しません。
   
   なお、ここで「ロックしている」とはロックレベルが1以上の状態を指します。

戻り値:処理に成功すると真を返します。
   
先頭へ


TileMapEventScene::LockEventDrawMove

public Bool LockEventDrawMove()

   このシーンオブジェクトが管理する全てのイベントインスタンスの描画移動処理のロックレベルを1上げます。
   
   描画移動がロックされている場合、ムーブコマンド処理やインスタンスの描画移動更新処理自体を抑止します。
   移動中に描画移動がロックされた場合、インスタンスはロックが解除されるまでその位置に留まります。
   
   なお、ここで「ロックしている」とはロックレベルが1以上の状態を指します。

戻り値:処理に成功すると真を返します。
   
先頭へ


TileMapEventScene::UnLockEventDrawMove

public Bool UnLockEventDrawMove()

   このシーンオブジェクトが管理する全てのイベントインスタンスの描画移動処理のロックレベルを1下げます。
   このメソッドは描画移動処理が現在ロックされていなかった場合失敗します。
   
   描画移動がロックされている場合、ムーブコマンド処理やインスタンスの描画移動更新処理自体を抑止します。
   移動中に描画移動がロックされた場合、インスタンスはロックが解除されるまでその位置に留まります。
   
   なお、ここで「ロックしている」とはロックレベルが1以上の状態を指します。

戻り値:処理に成功すると真を返します。
   
先頭へ


TileMapEventScene::LockEventPixelMove

public Bool LockEventPixelMove()

   このシーンオブジェクトが管理する全てのイベントインスタンスのピクセル移動処理のロックレベルを1上げます。
   
   ピクセル移動がロックされている場合、ピクセル移動ベクトルの適用処理やピクセル移動処理の実行が停止されます。
   
   なお、ここで「ロックしている」とはロックレベルが1以上の状態を指します。

戻り値:処理に成功すると真を返します。
   
先頭へ


TileMapEventScene::UnLockEventPixelMove

public Bool UnLockEventPixelMove()

   このシーンオブジェクトが管理する全てのイベントインスタンスのピクセル移動処理のロックレベルを1下げます。
   このメソッドはピクセル移動処理が現在ロックされていなかった場合失敗します。
   
   ピクセル移動がロックされている場合、ピクセル移動ベクトルの適用処理やピクセル移動処理の実行が停止されます。
   
   なお、ここで「ロックしている」とはロックレベルが1以上の状態を指します。

戻り値:処理に成功すると真を返します。
   
先頭へ


TileMapEventScene::SetTriggerLock

public Bool SetTriggerLock( INativeInteger trigger_lock)

   このシーンオブジェクトでのトリガー制御を設定します。
   このメソッドはシーンオブジェクトに対して設定し、呼び出す度に設定を上書きします。
   イベントトリガーをロックするとイベントトリガーによるハンドラの呼び出しが無効になります。
   これによって既に呼び出されているハンドラの処理が中断されることはありません。
   
   なお、ここで「ロックしている」とはロックレベルが1以上の状態を指します。
   
   イベントトリガーは状態ハンドラ(「自動開始」「この状態になった時」を含む)の起動、
   SendTriggerPos や SendTriggerArea 、ムーブコマンドによる「接触」「調べる」、
   およびイベントインスタンスの SendTrigger 、 RaiseTrigger によるハンドラの起動に使用されています。

   ただしイベントハンドラ「インスタンス生成」「インスタンス削除」「状態更新」「状態変化」ハンドラは
   イベントトリガーを使用して起動されているわけではないので、
   イベントトリガーをロックしても呼び出しは停止しません。
   
戻り値:設定に成功すると真を返します。
   
INativeInteger trigger_lock :イベントトリガーのロックレベルを指定します。
         イベントトリガーのロックを解除する場合0を指定します。

先頭へ


TileMapEventScene::GetTriggerLock

public Integer GetTriggerLock()const

   このシーンオブジェクトでのトリガー制御のロックレベルを取得します。
   このメソッドはシーンオブジェクトに対して設定されているイベントトリガーロックレベルを取得します。
   イベントトリガーがロックされているとイベントトリガーによるハンドラの呼び出しが無効になります。
   これによって既に呼び出されているハンドラの処理が中断されることはありません。
   
   なお、ここで「ロックしている」とはロックレベルが1以上の状態を指します。
   
   イベントトリガーは状態ハンドラ(「自動開始」「この状態になった時」を含む)の起動、
   SendTriggerPos や SendTriggerArea 、ムーブコマンドによる「接触」「調べる」、
   およびイベントインスタンスの SendTrigger 、 RaiseTrigger によるハンドラの起動に使用されています。

   ただしイベントハンドラ「インスタンス生成」「インスタンス削除」「状態更新」「状態変化」ハンドラは
   イベントトリガーを使用して起動されているわけではないので、
   イベントトリガーをロックしても呼び出しは停止しません。

戻り値:イベントトリガーのロックレベルを返します。
   
先頭へ


TileMapEventScene::LockTrigger

public Bool LockTrigger()

   このシーンオブジェクトでのトリガー制御のロックレベルを1上げます。
   
   イベントトリガーがロックされているとイベントトリガーによるハンドラの呼び出しが無効になります。
   これによって既に呼び出されているハンドラの処理が中断されることはありません。
   
   なお、ここで「ロックしている」とはロックレベルが1以上の状態を指します。
   
   イベントトリガーは状態ハンドラ(「自動開始」「この状態になった時」を含む)の起動、
   SendTriggerPos や SendTriggerArea 、ムーブコマンドによる「接触」「調べる」、
   およびイベントインスタンスの SendTrigger 、 RaiseTrigger によるハンドラの起動に使用されています。

   ただしイベントハンドラ「インスタンス生成」「インスタンス削除」「状態更新」「状態変化」ハンドラは
   イベントトリガーを使用して起動されているわけではないので、
   イベントトリガーをロックしても呼び出しは停止しません。
   
   [重要]このシーンを終了する場合、終了前に必ずこのメソッドでトリガーをロックしてください。
   トリガーをロックしないとシーン終了時の処理完了待ちの間に新たなトリガーによる割り込みが発生し、
   いつまでもシーンが終了しなくなる可能性があります。(特に自動開始ハンドラがあると割り込みます)


戻り値:処理に成功すると真を返します。
   
先頭へ


TileMapEventScene::UnLockTrigger

public Bool UnLockTrigger()

   このシーンオブジェクトでのトリガー制御のロックレベルを1下げます。
   このメソッドはトリガー制御が現在ロックされていなかった場合失敗します。
   
   イベントトリガーがロックされているとイベントトリガーによるハンドラの呼び出しが無効になります。
   これによって既に呼び出されているハンドラの処理が中断されることはありません。
   
   なお、ここで「ロックしている」とはロックレベルが1以上の状態を指します。
   
   イベントトリガーは状態ハンドラ(「自動開始」「この状態になった時」を含む)の起動、
   SendTriggerPos や SendTriggerArea 、ムーブコマンドによる「接触」「調べる」、
   およびイベントインスタンスの SendTrigger 、 RaiseTrigger によるハンドラの起動に使用されています。

   ただしイベントハンドラ「インスタンス生成」「インスタンス削除」「状態更新」「状態変化」ハンドラは
   イベントトリガーを使用して起動されているわけではないので、
   イベントトリガーをロックしても呼び出しは停止しません。

戻り値:処理に成功すると真を返します。
   
先頭へ


TileMapEventScene::SetWaitAnimeLock

public Bool SetWaitAnimeLock( INativeInteger waitanime_lock)

   このシーンオブジェクトが管理する全てのイベントインスタンスの待機アニメーション処理を設定します。
   このメソッドはシーンオブジェクトに対して設定し、呼び出す度に設定を上書きします。
   待機アニメーション処理をロックすると描画移動またはピクセル移動中でない時のアニメーションが停止します。
   
   なお、ここで「ロックしている」とはロックレベルが1以上の状態を指します。
   
戻り値:設定に成功すると真を返します。
   
INativeInteger waitanime_lock :待機アニメーションのロックレベルを指定します。
         待機アニメーションのロックを解除する場合0を指定します。

先頭へ


TileMapEventScene::GetWaitAnimeLock

public Integer GetWaitAnimeLock()const

   このシーンオブジェクトが管理する全てのイベントインスタンスの待機アニメーション処理のロックレベルを取得します。
   このメソッドはシーンオブジェクトに対して設定されている待機アニメーションロックレベルを取得します。
   待機アニメーション処理をロックすると描画移動またはピクセル移動中でない時のアニメーションが停止します。
   
   なお、ここで「ロックしている」とはロックレベルが1以上の状態を指します。

戻り値:待機アニメーションのロックレベルを返します。
   
先頭へ


TileMapEventScene::LockWaitAnime

public Bool LockWaitAnime()

   このシーンオブジェクトが管理する全てのイベントインスタンスの待機アニメーション処理のロックレベルを1上げます。
   
   待機アニメーション処理をロックすると描画移動またはピクセル移動中でない時のアニメーションが停止します。
   
   なお、ここで「ロックしている」とはロックレベルが1以上の状態を指します。

戻り値:処理に成功すると真を返します。
   
先頭へ


TileMapEventScene::UnLockWaitAnime

public Bool UnLockWaitAnime()

   このシーンオブジェクトが管理する全てのイベントインスタンスの待機アニメーション処理のロックレベルを1下げます。
   このメソッドは待機アニメーションが現在ロックされていなかった場合失敗します。
   
   待機アニメーション処理をロックすると描画移動またはピクセル移動中でない時のアニメーションが停止します。
   
   なお、ここで「ロックしている」とはロックレベルが1以上の状態を指します。

戻り値:処理に成功すると真を返します。
   
先頭へ


TileMapEventScene::GetEventHandler

public FGESMethod?@ GetEventHandler( INativeString handlername)const

   このシーンオブジェクトに登録されているイベントハンドラを取得します。
   指定した名前のイベントハンドラがない場合、空参照を返します。
   このメソッドで指定する名前はグローバルイベントハンドラとローカルイベントハンドラで名前空間を共有します。
   
戻り値:指定したイベントハンドラへの参照か、なければ空参照を返します。

INativeString handlername :取得するイベントハンドラ名。

先頭へ


TileMapEventScene::GetEventLocalHandler

public FGESMethod?@ GetEventLocalHandler( INativeInteger eventid, INativeInteger handlerid)const

   このシーンオブジェクトに登録されているイベントに設定されているハンドラを取得します。
   指定したハンドラがない場合、空参照を返します。
   
戻り値:指定したハンドラへの参照か、なければ空参照を返します。

INativeInteger eventid :ハンドラを取得するイベントID。
INativeInteger handlerid :取得するハンドラのID。以下のいずれか。
識別名内容
TileMapEventScene::EVENTHANDLER_CREATE「インスタンス生成」ハンドラ
TileMapEventScene::EVENTHANDLER_DELETE「インスタンス削除」ハンドラ
TileMapEventScene::EVENTHANDLER_UPDATESTATE「状態更新」ハンドラ
TileMapEventScene::EVENTHANDLER_CHANGESTATE「状態変化」ハンドラ

先頭へ


TileMapEventScene::GetStateHandler

public FGESMethod?@ GetStateHandler( INativeInteger eventid,
             INativeInteger stateid, INativeInteger handlerid)const


   このシーンオブジェクトに登録されているイベントに設定されている状態ハンドラを取得します。
   指定した状態ハンドラがない場合、空参照を返します。
   
戻り値:指定した状態ハンドラへの参照か、なければ空参照を返します。

INativeInteger eventid :ハンドラを取得するイベントID。
INativeInteger stateid :ハンドラを取得する状態ID。
INativeInteger handlerid :取得するハンドラのID。以下のいずれか。
識別名内容
TileMapEventScene::STATEHANDLER_PL_RECEIVECHECK「プレイヤーから調べられた」ハンドラ
TileMapEventScene::STATEHANDLER_PL_RECEIVETOUCH「プレイヤーから接触された」ハンドラ
TileMapEventScene::STATEHANDLER_PL_HOSTCHECK「プレイヤーを調べた」ハンドラ
TileMapEventScene::STATEHANDLER_PL_HOSTTOUCH「プレイヤーへ接触した」ハンドラ
TileMapEventScene::STATEHANDLER_AUTO「自動開始」ハンドラ
TileMapEventScene::STATEHANDLER_RECEIVECHECK「他のイベントから調べられた」ハンドラ
TileMapEventScene::STATEHANDLER_RECEIVETOUCH「他のイベントから接触された」ハンドラ
TileMapEventScene::STATEHANDLER_HOSTCHECK「他のイベントを調べた」ハンドラ
TileMapEventScene::STATEHANDLER_HOSTTOUCH「他のイベントへ接触した」ハンドラ
TileMapEventScene::STATEHANDLER_CHANGE「この状態になった」ハンドラ
TileMapEventScene::STATEHANDLER_EXTRA「拡張応答」ハンドラ

先頭へ


TileMapEventScene::SetStartTriggerMethod

public void SetStartTriggerMethod( FGESMethod method_obj)

   トリガー起動時に呼び出されるハンドラを設定します。
   ハンドラは以下の形で定義されていなければいけません。
method void StartTrigger(editable INativeEventObject triggerobj,editable INativeEventObject? pairobj)
   引数として triggerobj にトリガーを起動したイベントオブジェクト、
   pairobj にペアリングされたイベントオブジェクトが渡され、
   このオブジェクトをホストとして呼び出されます。
   
   このハンドラはトリガーされたイベントハンドラが開始される直前に、
   イベントハンドラが予約されたスレッドコンテキストで呼び出されます。
   また、複数のイベントが同時にトリガーされた場合、トリガーされた全てのパターンで呼び出されます。
   
FGESMethod method_obj :設定するハンドラ

先頭へ


TileMapEventScene::SetEndTriggerMethod

public void SetEndTriggerMethod( FGESMethod method_obj)

   トリガー完了時に呼び出されるハンドラを設定します。
   ハンドラは以下の形で定義されていなければいけません。
method void EndTrigger(editable INativeEventObject triggerobj,editable INativeEventObject? pairobj)
   引数として triggerobj にトリガーを起動したイベントオブジェクト、
   pairobj にペアリングされたイベントオブジェクトが渡され、
   このオブジェクトをホストとして呼び出されます。
   
   このハンドラはトリガーされたイベントハンドラが完了してから、多重起動ロックが解除されるまでの間に、
   イベントハンドラが実行されたスレッドコンテキストで呼び出されます。
   また、複数のイベントが同時にトリガーされた場合、トリガーされた全てのパターンで呼び出されます。
   
FGESMethod method_obj :設定するハンドラ

先頭へ


TileMapEventScene::SetHitTestMapSize

public void SetHitTestMapSize( INativeInteger width, INativeInteger height, INativeInteger hittestlayercnt)

   このシーンオブジェクトで移動障害判定を行うためのタイルマップ領域を設定します。
   ここで設定した範囲外では移動障害判定は正しく行われません。
   
   通常、ここで設定するマップサイズはタイルマップと同じサイズに設定します。
   このメソッドを呼び出すと現在設定されている移動障害判定マップはクリアされます。
   
INativeInteger width :移動障害判定マップの横幅。タイル枚数単位で1〜65536の範囲。
INativeInteger height :移動障害判定マップの縦幅。タイル枚数単位で1〜65536の範囲。
INativeInteger hittestlayercnt :移動障害判定マップのレイヤー数。1〜8枚。

先頭へ


TileMapEventScene::SetHitTestInfo

public Bool SetHitTestInfo( INativeInteger id, HitTestInfoMap hittestinfomap)

   このシーンオブジェクトで移動障害判定を行うためのタイルデータを設定します。
   ここで設定したタイルデータはマップチップ単位の障害/通過属性データで、
   この設定をした後、タイルマップのデータと結合して移動障害判定マップを生成します。
   
   このメソッドは参照のみをコピーします。
   hittestinfomap は別のオブジェクトを設定するか、このオブジェクトが消滅するまで維持しなければいけません。
   
戻り値:設定に成功すると真を返します。

INativeInteger id :設定するタイルセットID。0〜255の範囲。
HitTestInfoMap hittestinfomap :マップチップの障害/通過属性を設定した判定マップ。

先頭へ


TileMapEventScene::LinkTileMap

public Bool LinkTileMap(editable TileMapWindow tilemap_obj)

   このシーンオブジェクトで移動障害判定やイベント処理を行う際に使用するタイルマップオブジェクトを設定します。
   
   このメソッドは参照のみをコピーし、一度設定したら変更できません。
   tilemap_obj はこのオブジェクトが消滅するまで維持しなければいけません。
   
戻り値:設定に成功すると真を返します。

editable TileMapWindow tilemap_obj :シーンオブジェクトにリンクさせるタイルマップオブジェクト。

先頭へ


TileMapEventScene::AddHitTestLayer

public Bool AddHitTestLayer( INativeInteger hittestlayerid,
             INativeInteger tilelayerid, INativeInteger? x=NULL, INativeInteger? y=NULL,
             INativeInteger? width=NULL, INativeInteger? height=NULL,
             INativeInteger? subgrid_count=NULL)


   このシーンオブジェクトで移動障害判定を行うための移動障害判定マップを合成します。
   このメソッドを呼び出す前にタイルデータとタイルマップオブジェクトを設定しておく必要があります。
   
   このメソッドは指定したレイヤーの現在の移動障害判定マップに
   指定したタイルマップの移動障害判定マップを追加合成します。
   現在の移動障害判定マップを上書きする必要がある場合は ClearHitTestLayer を併用します。
   
戻り値:合成に成功すると真を返します。

INativeInteger hittestlayerid :合成する移動障害判定レイヤー。
INativeInteger tilelayerid :移動障害判定を合成するタイルレイヤー。
INativeInteger? x=NULL :処理対象の左上タイルX座標。
         空参照を指定した場合、0として扱います。
INativeInteger? y=NULL :処理対象の左上タイルY座標。
         空参照を指定した場合、0として扱います。
INativeInteger? width=NULL :処理対象の横幅(タイル枚数単位)。
         空参照を指定した場合、マップ全体の横幅として扱います。
INativeInteger? height=NULL :処理対象の縦幅(タイル枚数単位)。
         空参照を指定した場合、マップ全体の縦幅として扱います。
INativeInteger? subgrid_count=NULL :未実装です。0を指定してください。
         空参照を指定した場合、0として扱います。

先頭へ


TileMapEventScene::ClearHitTestLayer

public Bool ClearHitTestLayer( INativeInteger hittestlayerid, INativeInteger? x=NULL, INativeInteger? y=NULL,
             INativeInteger? width=NULL, INativeInteger? height=NULL)


   このシーンオブジェクトで移動障害判定を行うための移動障害判定マップをクリアします。
   
   このメソッドは指定したレイヤーの移動障害判定マップをクリアします。
   
戻り値:処理に成功すると真を返します。

INativeInteger hittestlayerid :クリアする移動障害判定レイヤー。
INativeInteger? x=NULL :処理対象の左上タイルX座標。
         空参照を指定した場合、0として扱います。
INativeInteger? y=NULL :処理対象の左上タイルY座標。
         空参照を指定した場合、0として扱います。
INativeInteger? width=NULL :処理対象の横幅(タイル枚数単位)。
         height と同時に空参照を指定した場合、マップ全体として扱います。
INativeInteger? height=NULL :処理対象の縦幅(タイル枚数単位)。
         width と同時に空参照を指定した場合、マップ全体として扱います。

先頭へ


TileMapEventScene::DrawHitTestMap

public Bool DrawHitTestMap( INativeLogicUnit base_x, INativeLogicUnit base_y, INativeInteger z,
             INativeInteger chk_group, INativeBool block_draw,editable Bitmap out_bitmap,
             INativeInteger draw_x, INativeInteger draw_y,
             INativeInteger width, INativeInteger height, INativeColor color,
             INativeInteger? draw_scale=NULL)const


   このシーンオブジェクトの移動障害判定マップをビットマップに描画します。
   移動障害判定マップには「不干渉」「障害」「通過」の三属性のいずれかが記録されており、
   このメソッドは「障害」「通過」のいずれかが設定された部分を抽出描画します。
   
   このメソッドはイベント論理座標1を 1/draw_scale ピクセルとして扱います。
   
戻り値:処理に成功すると真を返します。

INativeLogicUnit base_x :描画する移動障害判定マップの左上X座標。
INativeLogicUnit base_y :描画する移動障害判定マップの左上Y座標。
INativeInteger z :描画する移動障害判定マップレイヤーを決定するZ座標。0〜8191の範囲。
INativeInteger chk_group :移動障害判定を行うグループID。下位32ビットのビットフラグ。
INativeBool block_draw :描画する属性。
         真を指定すると「障害」、偽を指定すると「通過」が設定されている部分に描画します。
editable Bitmap out_bitmap :[入出力]描画対象のビットマップオブジェクト。
INativeInteger draw_x :ビットマップに描画する左上X座標。
INativeInteger draw_y :ビットマップに描画する左上Y座標。
INativeInteger width :ビットマップに描画する横幅。
INativeInteger height :ビットマップに描画する縦幅。
INativeColor color :ビットマップに描画する色。透過度も含み、描画するピクセルに上書きします。
INativeInteger? draw_scale=NULL :ビットマップへの出力スケール(1〜8191)。
         空参照を指定した場合、1が指定されたものとして扱います。

先頭へ


TileMapEventScene::DrawDirHitTestMap

public Bool DrawDirHitTestMap( INativeLogicUnit base_x, INativeLogicUnit base_y, INativeInteger z,
             INativeInteger line_size, INativeInteger grid_size,editable Bitmap out_bitmap,
             INativeInteger draw_x, INativeInteger draw_y,
             INativeInteger width, INativeInteger height,
             INativeColor inblock_color, INativeColor outblock_color, INativeColor bothblock_color,
             INativeColor inthrough_color,INativeColor outthrough_color, INativeColor boththrough_color,
             INativeColor inblock_outthrough_color, INativeColor inthrough_outblock_color)const


   このシーンオブジェクトの進入/離脱移動障害判定マップをビットマップに描画します。
   進入/離脱移動障害判定マップには「不干渉」「障害」「通過」の三属性のいずれかが記録されており、
   このメソッドは「障害」「通過」のいずれかが設定された部分を抽出描画します。
   
   このメソッドはイベント論理座標1を grid_size ピクセルとして扱います。
   また論理座標1ごとに8方向の情報を出力するため、 grid_size は line_size*3 以上である必要があります。
   
戻り値:処理に成功すると真を返します。

INativeLogicUnit base_x :描画する進入/離脱移動障害判定マップの左上X座標。
INativeLogicUnit base_y :描画する進入/離脱移動障害判定マップの左上Y座標。
INativeInteger z :描画する進入/離脱移動障害判定マップレイヤーを決定するZ座標。0〜8191の範囲。
INativeInteger line_size :描画する線の太さ。
INativeInteger grid_size :イベント論理座標1に対応するグリッドの一辺の大きさ。
editable Bitmap out_bitmap :[入出力]描画対象のビットマップオブジェクト。
INativeInteger draw_x :ビットマップに描画する左上X座標。
INativeInteger draw_y :ビットマップに描画する左上Y座標。
INativeInteger width :ビットマップに描画する横幅。
INativeInteger height :ビットマップに描画する縦幅。
INativeColor inblock_color :進入のみブロックする方向に描画する色。透過度も含み、描画するピクセルに上書きします。
INativeColor outblock_color :離脱のみブロックする方向に描画する色。透過度も含み、描画するピクセルに上書きします。
INativeColor bothblock_color :進入/離脱両方をブロックする方向に描画する色。透過度も含み、描画するピクセルに上書きします。
INativeColor inthrough_color :進入のみ通過させる方向に描画する色。透過度も含み、描画するピクセルに上書きします。
INativeColor outthrough_color :離脱のみ通過させる方向に描画する色。透過度も含み、描画するピクセルに上書きします。
INativeColor boththrough_color :進入/離脱両方を通過させる方向に描画する色。透過度も含み、描画するピクセルに上書きします。
INativeColor inblock_outthrough_color :進入をブロックし、離脱を通過させる方向に描画する色。
      透過度も含み、描画するピクセルに上書きします。
INativeColor inthrough_outblock_color :進入を通過させ、離脱をブロックする方向に描画する色。
      透過度も含み、描画するピクセルに上書きします。

先頭へ


TileMapEventScene::DrawEventMap

public Bool DrawEventMap( INativeLogicUnit base_x, INativeLogicUnit base_y,
             INativeInteger chk_group,editable Bitmap out_bitmap,
             INativeInteger draw_x, INativeInteger draw_y,
             INativeInteger width, INativeInteger height, INativeColor color
             INativeInteger? draw_scale=NULL)const


   このシーンオブジェクトが管理するイベントインスタンスの位置をビットマップに描画します。
   このメソッドは chk_group で指定されたグループIDを一つ以上持つイベントインスタンスを抽出描画します。
   
   このメソッドはイベント論理座標1を 1/draw_scale ピクセルとして扱います。
   
戻り値:処理に成功すると真を返します。

INativeLogicUnit base_x :描画するイベントマップの左上X座標。
INativeLogicUnit base_y :描画するイベントマップの左上Y座標。
INativeInteger chk_group :抽出する存在グループID。下位32ビットのビットフラグ。
editable Bitmap out_bitmap :[入出力]描画対象のビットマップオブジェクト。
INativeInteger draw_x :ビットマップに描画する左上X座標。
INativeInteger draw_y :ビットマップに描画する左上Y座標。
INativeInteger width :ビットマップに描画する横幅。
INativeInteger height :ビットマップに描画する縦幅。
INativeColor color :ビットマップに描画する色。透過度も含み、描画するピクセルに上書きします。
INativeInteger? draw_scale=NULL :ビットマップへの出力スケール(1〜8191)。
         空参照を指定した場合、1が指定されたものとして扱います。

先頭へ


TileMapEventScene::ReDrawTileMap

public void ReDrawTileMap()

   このシーンオブジェクトとリンクしているタイルマップオブジェクトを再描画します。
   イベントインスタンスを削除した場合など、明示的な再描画が必要な場合に使用します。
   
先頭へ


TileMapEventScene::LumpSyncRelaySource

public Integer LumpSyncRelaySource( INativeInteger target_group,
             PPointerArray<INativeEventObject>? target_list)


   このシーンオブジェクトが管理するイベントインスタンスまたは指定したイベント集合のうち、
   target_group で指定されたグループIDを一つ以上持つイベントインスタンス全てに対して、 SyncRelaySource を呼び出します。
   
戻り値:この呼出しで連動動作が同期されたイベントの数を返します。

INativeInteger target_group :処理対象のイベントグループ。下位32ビットのビットフラグ。
PPointerArray<INativeEventObject>? target_list :処理対象のイベント配列を指定します。
         空参照を指定した場合はこのシーンオブジェクトが管理する全てのイベントインスタンスを処理対象として扱います。

先頭へ


TileMapEventScene::LumpResetRelaySource

public Integer LumpResetRelaySource( INativeInteger target_group,
             PPointerArray<INativeEventObject>? target_list, INativeBool? reserve=NULL)


   このシーンオブジェクトが管理するイベントインスタンスまたは指定したイベント集合のうち、
   target_group で指定されたグループIDを一つ以上持つイベントインスタンス全てに対して、 ResetRelaySource を呼び出します。
   
戻り値:この呼出しで連動動作が解除または解除予約されたイベントの数を返します。

INativeInteger target_group :処理対象のイベントグループ。下位32ビットのビットフラグ。
PPointerArray<INativeEventObject>? target_list :処理対象のイベント配列を指定します。
         空参照を指定した場合はこのシーンオブジェクトが管理する全てのイベントインスタンスを処理対象として扱います。
INativeBool? reserve=NULL :真を指定すると連動動作の解除を予約します。
         偽を指定した場合は直ちに連動動作の解除処理を行います。
         空参照を指定した場合、偽を指定したものとして扱います。

先頭へ


TileMapEventScene::LumpSetPixelVector

public Integer LumpSetPixelVector( INativeInteger target_group,
             PPointerArray<INativeEventObject>? target_list, INativeFloat x, INativeFloat y)


   このシーンオブジェクトが管理するイベントインスタンスまたは指定したイベント集合のうち、
   target_group で指定されたグループIDを一つ以上持つイベントインスタンス全てに対して、 SetPixelVector を呼び出します。
   
戻り値:この呼出しで更新されたイベントの数を返します。

INativeInteger target_group :処理対象のイベントグループ。下位32ビットのビットフラグ。
PPointerArray<INativeEventObject>? target_list :処理対象のイベント配列を指定します。
         空参照を指定した場合はこのシーンオブジェクトが管理する全てのイベントインスタンスを処理対象として扱います。
INativeFloat x :設定するピクセルXベクトル。
INativeFloat y :設定するピクセルYベクトル。

先頭へ


TileMapEventScene::LumpAddPixelVector

public Integer LumpAddPixelVector( INativeInteger target_group,
             PPointerArray<INativeEventObject>? target_list, INativeFloat x, INativeFloat y)


   このシーンオブジェクトが管理するイベントインスタンスまたは指定したイベント集合のうち、
   target_group で指定されたグループIDを一つ以上持つイベントインスタンス全てに対して、 AddPixelVector を呼び出します。
   
戻り値:この呼出しで更新されたイベントの数を返します。

INativeInteger target_group :処理対象のイベントグループ。下位32ビットのビットフラグ。
PPointerArray<INativeEventObject>? target_list :処理対象のイベント配列を指定します。
         空参照を指定した場合はこのシーンオブジェクトが管理する全てのイベントインスタンスを処理対象として扱います。
INativeFloat x :加算するピクセルXベクトル。
INativeFloat y :加算するピクセルYベクトル。

先頭へ


TileMapEventScene::LumpMulPixelVector

public Integer LumpMulPixelVector( INativeInteger target_group,
             PPointerArray<INativeEventObject>? target_list, INativeFloat x, INativeFloat y)


   このシーンオブジェクトが管理するイベントインスタンスまたは指定したイベント集合のうち、
   target_group で指定されたグループIDを一つ以上持つイベントインスタンス全てに対して、 MulPixelVector を呼び出します。
   
戻り値:この呼出しで更新されたイベントの数を返します。

INativeInteger target_group :処理対象のイベントグループ。下位32ビットのビットフラグ。
PPointerArray<INativeEventObject>? target_list :処理対象のイベント配列を指定します。
         空参照を指定した場合はこのシーンオブジェクトが管理する全てのイベントインスタンスを処理対象として扱います。
INativeFloat x :乗算するピクセルXベクトル(-10.0〜10.0の範囲)。
INativeFloat y :乗算するピクセルYベクトル(-10.0〜10.0の範囲)。

先頭へ


TileMapEventScene::LumpBrakePixelVector

public Integer LumpBrakePixelVector( INativeInteger target_group,
             PPointerArray<INativeEventObject>? target_list, INativeFloat x, INativeFloat y)


   このシーンオブジェクトが管理するイベントインスタンスまたは指定したイベント集合のうち、
   target_group で指定されたグループIDを一つ以上持つイベントインスタンス全てに対して、 BrakePixelVector を呼び出します。
   
戻り値:この呼出しで更新されたイベントの数を返します。

INativeInteger target_group :処理対象のイベントグループ。下位32ビットのビットフラグ。
PPointerArray<INativeEventObject>? target_list :処理対象のイベント配列を指定します。
         空参照を指定した場合はこのシーンオブジェクトが管理する全てのイベントインスタンスを処理対象として扱います。
INativeFloat x :制動するピクセルXベクトル。
INativeFloat y :制動するピクセルYベクトル。

先頭へ


TileMapEventScene::LumpSetPixelVectorRange

public Integer LumpSetPixelVectorRange( INativeInteger target_group,
             PPointerArray<INativeEventObject>? target_list,
             INativeFloat xmin, INativeFloat xmax, INativeFloat ymin, INativeFloat ymax)


   このシーンオブジェクトが管理するイベントインスタンスまたは指定したイベント集合のうち、
   target_group で指定されたグループIDを一つ以上持つイベントインスタンス全てに対して、 SetPixelVectorRange を呼び出します。
   
戻り値:この呼出しで更新されたイベントの数を返します。

INativeInteger target_group :処理対象のイベントグループ。下位32ビットのビットフラグ。
PPointerArray<INativeEventObject>? target_list :処理対象のイベント配列を指定します。
         空参照を指定した場合はこのシーンオブジェクトが管理する全てのイベントインスタンスを処理対象として扱います。
INativeFloat xmin :設定するピクセルXベクトルの最小値(-128.0〜0.0)。
INativeFloat xmax :設定するピクセルXベクトルの最大値(0.0〜128.0)。
INativeFloat ymin :設定するピクセルYベクトルの最小値(-128.0〜0.0)。
INativeFloat ymax :設定するピクセルYベクトルの最大値(0.0〜128.0)。

先頭へ


TileMapEventScene::LumpSetPixelVectorVecRate

public Integer LumpSetPixelVectorVecRate( INativeInteger target_group,
             PPointerArray<INativeEventObject>? target_list, INativeFloat mul_x, INativeFloat mul_y,
             INativeFloat add_x, INativeFloat add_y, INativeFloat brake_x, INativeFloat brake_y)


   このシーンオブジェクトが管理するイベントインスタンスまたは指定したイベント集合のうち、
   target_group で指定されたグループIDを一つ以上持つイベントインスタンス全てに対して、 SetPixelVectorVecRate を呼び出します。
   
戻り値:この呼出しで更新されたイベントの数を返します。

INativeInteger target_group :処理対象のイベントグループ。下位32ビットのビットフラグ。
PPointerArray<INativeEventObject>? target_list :処理対象のイベント配列を指定します。
         空参照を指定した場合はこのシーンオブジェクトが管理する全てのイベントインスタンスを処理対象として扱います。
INativeFloat mul_x :設定するXベクトル乗算時の影響率(-10.0〜10.0)。
INativeFloat mul_y :設定するYベクトル乗算時の影響率(-10.0〜10.0)。
INativeFloat add_x :設定するXベクトル加算時の影響率(-10.0〜10.0)。
INativeFloat add_y :設定するYベクトル加算時の影響率(-10.0〜10.0)。
INativeFloat brake_x :設定するXベクトル制動時の影響率(-10.0〜10.0)。
INativeFloat brake_y :設定するYベクトル制動時の影響率(-10.0〜10.0)。

先頭へ


TileMapEventScene::LumpPixelMove

public Integer LumpPixelMove( INativeInteger target_group,
             PPointerArray<INativeEventObject>? target_list, INativeFloat x, INativeFloat y,
             INativeBool? state_update=NULL, INativeBool? force_move=NULL)


   このシーンオブジェクトが管理するイベントインスタンスまたは指定したイベント集合のうち、
   target_group で指定されたグループIDを一つ以上持つイベントインスタンス全てに対して、 PixelMove を呼び出します。
   
戻り値:この呼出しで処理されたイベントの数を返します。

INativeInteger target_group :処理対象のイベントグループ。下位32ビットのビットフラグ。
PPointerArray<INativeEventObject>? target_list :処理対象のイベント配列を指定します。
         空参照を指定した場合はこのシーンオブジェクトが管理する全てのイベントインスタンスを処理対象として扱います。
INativeFloat x :適用するピクセルXベクトル。
INativeFloat y :適用するピクセルYベクトル。
INativeBool? state_update=NULL :真を指定するとピクセル移動の判定状態を直ちに更新します。
         偽を指定するとピクセル移動の判定状態は次のフレームまで更新されません。
         空参照を指定した場合は偽を指定したものとして扱います。
INativeBool? force_move=NULL :真を指定するとピクセル移動の有効化状態に関わらず処理を行います。
         偽を指定するとピクセル移動が有効な対象のみ処理を行います。
         空参照を指定した場合は偽を指定したものとして扱います。

先頭へ


TileMapEventScene::LumpResetPixelMove

public Integer LumpResetPixelMove( INativeInteger target_group,
             PPointerArray<INativeEventObject>? target_list)


   このシーンオブジェクトが管理するイベントインスタンスまたは指定したイベント集合のうち、
   target_group で指定されたグループIDを一つ以上持つイベントインスタンス全てに対して、 ResetPixelMove を呼び出します。
   
戻り値:この呼出しで処理されたイベントの数を返します。

INativeInteger target_group :処理対象のイベントグループ。下位32ビットのビットフラグ。
PPointerArray<INativeEventObject>? target_list :処理対象のイベント配列を指定します。
         空参照を指定した場合はこのシーンオブジェクトが管理する全てのイベントインスタンスを処理対象として扱います。

先頭へ


TileMapEventScene::PixelPushOut

public Integer PixelPushOut( INativeInteger direction, INativeInteger z,
             INativeInteger target_group, PPointerArray<INativeEventObject>? target_list,
             INativeFloat pix_left, INativeFloat pix_top, INativeFloat pix_width, INativeFloat pix_height,
             INativeEventObject? except_obj=NULL,editable PPointerArray<INativeEventObject>? out_moved_list=NULL,
             editable INativeEventObject? relay_obj=NULL, INativeMethod? relay_handler=NULL,
             INativeInteger? chain_limit=NULL, INativeBool? state_update=NULL, INativeInteger? hittest_cond=NULL)


   このシーンオブジェクトが管理するイベントインスタンスまたは指定したイベント集合のうち、
   target_group で指定されたグループIDを一つ以上持ち判定条件を満たすイベントインスタンス全てに指定範囲からの押し出し処理を行います。

   押し出し処理は指定した範囲内に対象のイベントが存在した場合、指定した方向に範囲外に出るまで押し出します。
   この時、 chain_limit を上限として押し出されて移動する範囲に再帰的に処理が実行されます。
   再帰的な押し出し処理はこのシーンオブジェクトが管理する全てのイベントインスタンスまたは指定したイベント集合のうち、
   target_group で指定されたグループIDを一つ以上持ち、 target_group に対して障害判定を持つイベントインスタンス全てに行います。
   押し出し処理はピクセル移動によって行われ、ピクセル移動で障害判定が出る場合は障害判定が優先されます。
   また、指定範囲の移動方向とは逆側にはみ出しているオブジェクトは押し出し処理の対象から除外されます。
   なお、この押し出し処理はピクセル移動が停止されていても行われます。

   relay_obj にイベントオブジェクトを指定した場合、指定範囲に隣接しているイベントに対しても「距離0」の押し出しが実行されます。
   この時、押し出し処理を行ったイベントオブジェクト全てに対して押し出されたイベントオブジェクトが連動設定されます。
   ( relay_obj は初回の押し出し処理で直接対象になった場合のみ使用され、
   再帰処理中は移動しようとしているイベントオブジェクトが relay_obj として使用されます)
   この設定は押し出されたイベントオブジェクトに SetRelaySource(relay_obj,false,relay_handler) をネイティブで呼び出すことで行われます。
   これにより、積み上げ等の処理を手軽に行うことが出来ます。
   
   state_update に真を指定している場合で、
   この呼び出しによってピクセルイベントハンドラの呼び出し条件が成立した場合、
   ピクセルイベントハンドラが直ちに呼び出されます。
   
   このメソッドは範囲指定の座標系がピクセル座標です。
   論理座標ではないので注意してください。
   
戻り値:この呼出しで押し出し対象になったイベントの数を返します。

INativeInteger direction :押し出しを行う方向(方向ID)。
INativeInteger z :判定を発生する論理Z座標。
INativeInteger target_group :処理対象のイベントグループ。下位32ビットのビットフラグ。
PPointerArray<INativeEventObject>? target_list :処理対象のイベント配列を指定します。
         空参照を指定した場合はこのシーンオブジェクトが管理する全てのイベントインスタンスを処理対象として扱います。
INativeFloat pix_left :押し出しを行う範囲の左上ピクセルX座標。
INativeFloat pix_top :押し出しを行う範囲の左上ピクセルY座標。
INativeFloat pix_width :押し出しを行う範囲の横幅(ピクセル単位)。
INativeFloat pix_height :押し出しを行う範囲の縦幅(ピクセル単位)。
INativeEventObject? except_obj=NULL :移動障害判定から除外するオブジェクト。
         空参照を指定した場合は全てのイベントオブジェクトを使用して移動障害判定を行います。
editable PPointerArray<INativeEventObject>? out_moved_list=NULL :[出力]押し出しの対象になったイベントオブジェクトのリストを出力するオブジェクト。
         空参照を指定した場合は無視します。
editable INativeEventObject? relay_obj=NULL :押し出し対象に連動させるソースイベントオブジェクト。
         詳細は本文を参照してください。
         空参照を指定した場合は連動設定を変更しません。
INativeMethod? relay_handler=NULL :押し出し対象の連動中に毎フレーム呼び出すリレーハンドラ。
         空参照を指定した場合はリレーハンドラの設定を解除します。
         relay_obj に空参照を指定した場合は無視されます。
INativeInteger? chain_limit=NULL :押し出しの最大連鎖数(1〜1000)。
         初回の判定は1連鎖目として扱います。
         空参照を指定した場合は512を指定したものとして扱います。
INativeBool? state_update=NULL :真を指定するとピクセル移動の判定状態を直ちに更新します。
         偽を指定するとピクセル移動の判定状態は次のフレームまで更新されません。
         空参照を指定した場合は偽を指定したものとして扱います。
INativeInteger? hittest_cond=NULL :押し出し対象の判定条件。以下のOR結合。
         この条件に指定した判定を全て持つオブジェクトのみが処理対象になります。
識別名内容
FGESCommonEventObject::HT_EXIST存在判定がある。(デフォルト)
FGESCommonEventObject::HT_SAMEEXIST同位置に存在する。Z座標はレイヤーが同じであれば同位置とみなす。
FGESCommonEventObject::HT_BOTTOMEXIST平面座標は一致するが、指定位置より下に存在する。
FGESCommonEventObject::HT_TOPEXIST平面座標は一致するが、指定位置より上に存在する。
FGESCommonEventObject::HT_BLOCK指定したグループに対して障害判定がある。位置は考慮しない。
FGESCommonEventObject::HT_THROUGH指定したグループに対して通過判定がある。位置は考慮しない。

先頭へ


TileMapEventScene::SetCaptureHandler

public  Bool SetCaptureHandler(editable Any? capture_host, INativeMethod? handler)

   このオブジェクトの捕獲ハンドラを設定します。
   捕獲ハンドラは論理移動処理を行う時に呼び出され、論理移動を上書きすることができます。
   
   シーンオブジェクトに捕獲ハンドラを設定した場合、
   全てのイベントオブジェクトが論理移動処理を行う時にハンドラが呼び出されます。
   ハンドラの呼び出し回数が著しく多くなる可能性に留意してください。
   
   既にこのオブジェクトに捕獲ハンドラが設定されている場合、このメソッドは設定を上書きします。

   捕獲ハンドラはネイティブコールバックスレッドで呼び出されます。
   この呼び出しには制限時間があり、制限時間以内に完了しない場合は例外が発生します。
   
   このメソッドで設定する捕獲ハンドラは以下の形で定義されている必要があります。
   捕獲ハンドラの引数は論理移動処理で行おうとしている移動情報で、
   内容を改変すると論理移動の内容を改変することができます。
       Bool (editable INativeEventObject target,editable Integer direction,
                editable Integer steps,editable Integer moveframe)


      戻り値:真を返した場合は論理移動処理を継続します。
            偽を返した場合は論理移動処理を失敗させます。
      
       editable INativeEventObject target :[入出力]移動対象のイベントオブジェクト。
       editable Integer direction :[入出力]移動方向(方向ID)。
       editable Integer steps :[入出力]移動歩数(イベント詳細論理単位)。
       editable Integer moveframe :[入出力]移動時間(フレーム単位)。

戻り値:設定に成功すると真を返します。

editable Any? capture_host :設定する捕獲ハンドラを呼び出す時のホストオブジェクト。
INativeMethod? handler :設定する捕獲ハンドラ。
      空参照を指定した場合は捕獲ハンドラの設定を解除します。

先頭へ


TileMapEventScene::GetCaptureHost

public Any?@ GetCaptureHost()const

   このオブジェクトに設定されている捕獲ハンドラのホストオブジェクトを取得します。

戻り値:設定されている捕獲ハンドラのホストオブジェクト。

先頭へ


TileMapEventScene::GetCaptureHandler

public readonly INativeMethod?@ GetCaptureHandler()const

   このオブジェクトに設定されている捕獲ハンドラを取得します。

戻り値:設定されている捕獲ハンドラ。
      捕獲ハンドラが設定されていない場合、空参照を返します。

先頭へ


TileMapEventScene::ResetCaptureHandler

public Bool ResetCaptureHandler()

   このオブジェクトに設定されている捕獲ハンドラを解除します。
   捕獲ハンドラが設定されていない場合、何も起こりません。

戻り値:処理に成功した場合、真を返します。

先頭へ


TileMapEventScene::GenerateSightMap

public Bool GenerateMovableMap( INativeLogicUnit map_x, INativeLogicUnit map_y, INativeInteger z,
             INativeInteger width, INativeInteger height, 
             INativeFloat origin_x, INativeFloat origin_y,
             INativeFloat r, INativeFloat angle, INativeFloat? angle_range,
             editable Bitmap out_map, INativeColor na_color,
             INativeColor in_color, INativeColor block_color, 
             INativeInteger chk_group, INativeEventObject? except_obj, INativeInteger? hittest_cond=NULL,
             INativeInteger? block_through=NULL, INativeLogicUnit? grid_size=NULL)const


   (origin_x,origin_y) からの視野範囲(直線的に移動できる範囲)を探索します。
   このメソッドは指定した存在グループによる移動障害判定を使用して
   直線的に移動できる範囲を視野範囲として out_map に出力します。
   このメソッドは grid_size を1ピクセルとして出力します。

   このメソッドにおいて「見える」とは r より近く、
   指定した存在グループによる移動障害判定がブロックされた回数が block_through 以下の領域です。
   移動障害判定はグリッドサイズの4倍精度で行われるので、
   真正面で1マスのブロックを貫通するまでに4回ブロックされます。
   また、 block_through が0の場合のみ、最初にブロックされた位置から見えないものとして扱います。

   このメソッドは out_map の (0,0)〜(width,height) を以下のルールで上書きします。
条件内容
(map_x+x,map_y+y)が見え、移動可能in_color
(map_x+x,map_y+y)が見えるが移動不可block_color
(map_x+x,map_y+y)が見えないna_color

   ヒットテスト条件を指定した場合、
   ヒットテスト判定結果に条件に指定した項目が含まれるイベントのみ移動障害判定を処理します。
   ヒットテスト条件を指定せず、除外オブジェクトを指定した場合、
   除外オブジェクトのイベントフラグを加味した判定を行います。
   ヒットテスト条件を指定せず、除外オブジェクトも指定しなかった場合はデフォルトの判定を行います。

   このメソッドでは視野マップに書き込むピクセルデータが全て別であると処理速度が向上します。
   
戻り値:処理に成功すると真を返します。

INativeLogicUnit map_x :視野マップの(0,0)と対応させる論理X座標。
INativeLogicUnit map_y :視野マップの(0,0)と対応させる論理Y座標。
INativeInteger z :移動障害判定を行う論理Z座標。
INativeInteger width :視野マップを出力する横幅。
INativeInteger height :視野マップを出力する縦幅。
INativeFloat origin_x :視野範囲を探索する起点論理X座標(イベント論理座標基準)。
INativeFloat origin_y :視野範囲を探索する起点論理Y座標(イベント論理座標基準)。
INativeFloat r :視野範囲を探索する距離(イベント論理座標基準)。
INativeFloat angle :視野範囲を探索する方向の中心角度(ラジアン単位)。
INativeFloat? angle_range :視野範囲を探索する方向の中心からの角度範囲(ラジアン単位)。
      この引数は中心から正負両方に伸びることに注意してください。
      空参照を指定した場合は0.0を指定したものとして扱います。
editable Bitmap out_map :[出力]視野マップを出力するビットマップ画像。
INativeColor na_color :視野マップの見えない範囲に出力するピクセルデータ。
INativeColor in_color :視野マップの見えて移動可能な範囲に出力するピクセルデータ。
INativeColor block_color :視野マップの見えるが移動不可な範囲に出力するピクセルデータ。
INativeInteger chk_group :移動障害判定を行うグループID。下位32ビットのビットフラグ。
INativeEventObject? except_obj :移動障害判定から除外するオブジェクト。
      空参照を指定した場合は全てのイベントオブジェクトを使用して移動障害判定を行います。
INativeInteger? hittest_cond=NULL :対象にするヒットテスト条件。以下のOR結合。
      空参照を指定した場合は本文参照のこと。
識別名内容
FGESCommonEventObject::HT_EXIST存在判定がある。
FGESCommonEventObject::HT_SAMEEXIST同位置に存在する。Z座標はレイヤーが同じであれば同位置とみなす。
FGESCommonEventObject::HT_BOTTOMEXIST平面座標は一致するが、指定位置より下に存在する。
FGESCommonEventObject::HT_TOPEXIST平面座標は一致するが、指定位置より上に存在する。
FGESCommonEventObject::HT_BLOCK指定したグループに対して障害判定がある。位置は考慮しない。
FGESCommonEventObject::HT_THROUGH指定したグループに対して通過判定がある。位置は考慮しない。
INativeInteger? block_through=NULL :移動障害判定で判定を終了するブロック回数。
      空参照を指定した場合は2を指定したものとして扱います。
INativeLogicUnit? grid_size=NULL :視野マップの1ピクセルかつ判定精度となるグリッドサイズ。
      空参照を指定した場合はタイル1枚分を指定したものとして扱います。

先頭へ


TileMapEventScene::IsSeeablePoint

public Bool IsSeeablePoint( INativeLogicUnit origin_x, INativeLogicUnit origin_y, INativeInteger z,
             INativeLogicUnit see_x, INativeLogicUnit see_y, 
             INativeInteger chk_group, INativeEventObject? except_obj, INativeInteger? hittest_cond=NULL,
             INativeLogicUnit? grid_size=NULL)const


   (origin_x,origin_y) から (see_x,see_y) が見えるか判定します。
   このメソッドは指定した存在グループによる移動障害判定を使用して
   直線的に移動できる範囲を見えると扱います。
   このメソッドは grid_size 単位で判定を行います。

   ヒットテスト条件を指定した場合、
   ヒットテスト判定結果に条件に指定した項目が含まれるイベントのみ移動障害判定を処理します。
   ヒットテスト条件を指定せず、除外オブジェクトを指定した場合、
   除外オブジェクトのイベントフラグを加味した判定を行います。
   ヒットテスト条件を指定せず、除外オブジェクトも指定しなかった場合はデフォルトの判定を行います。

戻り値:目標座標が見える場合は真を返します。

INativeLogicUnit origin_x :判定する起点論理X座標。
INativeLogicUnit origin_y :判定する起点論理Y座標。
INativeInteger z :移動障害判定を行う論理Z座標。
INativeLogicUnit see_x :判定する目標論理X座標。
INativeLogicUnit see_y :判定する目標論理Y座標。
INativeInteger chk_group :移動障害判定を行うグループID。下位32ビットのビットフラグ。
INativeEventObject? except_obj :移動障害判定から除外するオブジェクト。
      空参照を指定した場合は全てのイベントオブジェクトを使用して移動障害判定を行います。
INativeInteger? hittest_cond=NULL :対象にするヒットテスト条件。以下のOR結合。
      空参照を指定した場合は本文参照のこと。
識別名内容
FGESCommonEventObject::HT_EXIST存在判定がある。
FGESCommonEventObject::HT_SAMEEXIST同位置に存在する。Z座標はレイヤーが同じであれば同位置とみなす。
FGESCommonEventObject::HT_BOTTOMEXIST平面座標は一致するが、指定位置より下に存在する。
FGESCommonEventObject::HT_TOPEXIST平面座標は一致するが、指定位置より上に存在する。
FGESCommonEventObject::HT_BLOCK指定したグループに対して障害判定がある。位置は考慮しない。
FGESCommonEventObject::HT_THROUGH指定したグループに対して通過判定がある。位置は考慮しない。
INativeLogicUnit? grid_size=NULL :判定精度となるグリッドサイズ。
      空参照を指定した場合はタイル1枚分を指定したものとして扱います。

先頭へ


TileMapEventScene::IsSeeableRect

public Bool IsSeeableRect( INativeFloat origin_x, INativeFloat origin_y, INativeInteger z,
             INativeFloat r, INativeFloat angle, INativeFloat? angle_range,
             INativeLogicUnit target_x1, INativeLogicUnit target_y1,
             INativeLogicUnit target_x2, INativeLogicUnit target_y2,
             INativeInteger chk_group, INativeEventObject? except_obj, INativeInteger? hittest_cond=NULL,
             INativeLogicUnit? grid_size=NULL)const


   (origin_x,origin_y) からの視野範囲(直線的に移動できる範囲)内に指定した目標矩形があるか判定します。
   このメソッドは指定した存在グループによる移動障害判定を使用して
   直線的に移動できる範囲を視野範囲として解釈します。
   このメソッドは grid_size 単位で判定を行います。

   ヒットテスト条件を指定した場合、
   ヒットテスト判定結果に条件に指定した項目が含まれるイベントのみ移動障害判定を処理します。
   ヒットテスト条件を指定せず、除外オブジェクトを指定した場合、
   除外オブジェクトのイベントフラグを加味した判定を行います。
   ヒットテスト条件を指定せず、除外オブジェクトも指定しなかった場合はデフォルトの判定を行います。

戻り値:目標矩形が見える場合は真を返します。

INativeFloat origin_x :視野範囲を探索する起点論理X座標(イベント論理座標基準)。
INativeFloat origin_y :視野範囲を探索する起点論理Y座標(イベント論理座標基準)。
INativeInteger z :移動障害判定を行う論理Z座標。
INativeFloat r :視野範囲を探索する距離(イベント論理座標基準)。
INativeFloat angle :視野範囲を探索する方向の中心角度(ラジアン単位)。
INativeFloat? angle_range :視野範囲を探索する方向の中心からの角度範囲(ラジアン単位)。
      この引数は中心から正負両方に伸びることに注意してください。
      空参照を指定した場合は0.0を指定したものとして扱います。
INativeLogicUnit target_x1 :判定する目標矩形の論理X座標1。
INativeLogicUnit target_y1 :判定する目標矩形の論理Y座標1。
INativeLogicUnit target_x2 :判定する目標矩形の論理X座標2。
INativeLogicUnit target_y2 :判定する目標矩形の論理Y座標2。
INativeInteger chk_group :移動障害判定を行うグループID。下位32ビットのビットフラグ。
INativeEventObject? except_obj :移動障害判定から除外するオブジェクト。
      空参照を指定した場合は全てのイベントオブジェクトを使用して移動障害判定を行います。
INativeInteger? hittest_cond=NULL :対象にするヒットテスト条件。以下のOR結合。
      空参照を指定した場合は本文参照のこと。
識別名内容
FGESCommonEventObject::HT_EXIST存在判定がある。
FGESCommonEventObject::HT_SAMEEXIST同位置に存在する。Z座標はレイヤーが同じであれば同位置とみなす。
FGESCommonEventObject::HT_BOTTOMEXIST平面座標は一致するが、指定位置より下に存在する。
FGESCommonEventObject::HT_TOPEXIST平面座標は一致するが、指定位置より上に存在する。
FGESCommonEventObject::HT_BLOCK指定したグループに対して障害判定がある。位置は考慮しない。
FGESCommonEventObject::HT_THROUGH指定したグループに対して通過判定がある。位置は考慮しない。
INativeLogicUnit? grid_size=NULL :判定精度となるグリッドサイズ。
      空参照を指定した場合はタイル1枚分を指定したものとして扱います。

先頭へ


TileMapEventScene::IsSeeableCircle

public Bool IsSeeableCircle( INativeFloat origin_x, INativeFloat origin_y, INativeInteger z,
             INativeFloat r, INativeFloat angle, INativeFloat? angle_range,
             INativeFloat target_x, INativeFloat target_y, INativeFloat target_r,
             INativeInteger chk_group, INativeEventObject? except_obj, INativeInteger? hittest_cond=NULL,
             INativeLogicUnit? grid_size=NULL)const


   (origin_x,origin_y) からの視野範囲(直線的に移動できる範囲)内に指定した目標円があるか判定します。
   このメソッドは指定した存在グループによる移動障害判定を使用して
   直線的に移動できる範囲を視野範囲として解釈します。
   このメソッドは grid_size 単位で判定を行います。

   ヒットテスト条件を指定した場合、
   ヒットテスト判定結果に条件に指定した項目が含まれるイベントのみ移動障害判定を処理します。
   ヒットテスト条件を指定せず、除外オブジェクトを指定した場合、
   除外オブジェクトのイベントフラグを加味した判定を行います。
   ヒットテスト条件を指定せず、除外オブジェクトも指定しなかった場合はデフォルトの判定を行います。

戻り値:目標円が見える場合は真を返します。

INativeFloat origin_x :視野範囲を探索する起点論理X座標(イベント論理座標基準)。
INativeFloat origin_y :視野範囲を探索する起点論理Y座標(イベント論理座標基準)。
INativeInteger z :移動障害判定を行う論理Z座標。
INativeFloat r :視野範囲を探索する距離(イベント論理座標基準)。
INativeFloat angle :視野範囲を探索する方向の中心角度(ラジアン単位)。
INativeFloat? angle_range :視野範囲を探索する方向の中心からの角度範囲(ラジアン単位)。
      この引数は中心から正負両方に伸びることに注意してください。
      空参照を指定した場合は0.0を指定したものとして扱います。
INativeFloat target_x :判定する目標円の論理X座標(イベント論理座標基準)。
INativeFloat target_y :判定する目標円の論理Y座標(イベント論理座標基準)。
INativeFloat target_r :判定する目標円の半径(イベント論理座標基準)。
INativeInteger chk_group :移動障害判定を行うグループID。下位32ビットのビットフラグ。
INativeEventObject? except_obj :移動障害判定から除外するオブジェクト。
      空参照を指定した場合は全てのイベントオブジェクトを使用して移動障害判定を行います。
INativeInteger? hittest_cond=NULL :対象にするヒットテスト条件。以下のOR結合。
      空参照を指定した場合は本文参照のこと。
識別名内容
FGESCommonEventObject::HT_EXIST存在判定がある。
FGESCommonEventObject::HT_SAMEEXIST同位置に存在する。Z座標はレイヤーが同じであれば同位置とみなす。
FGESCommonEventObject::HT_BOTTOMEXIST平面座標は一致するが、指定位置より下に存在する。
FGESCommonEventObject::HT_TOPEXIST平面座標は一致するが、指定位置より上に存在する。
FGESCommonEventObject::HT_BLOCK指定したグループに対して障害判定がある。位置は考慮しない。
FGESCommonEventObject::HT_THROUGH指定したグループに対して通過判定がある。位置は考慮しない。
INativeLogicUnit? grid_size=NULL :判定精度となるグリッドサイズ。
      空参照を指定した場合はタイル1枚分を指定したものとして扱います。

先頭へ


TileMapEventScene::IsSeeableEvent

public Bool IsSeeableEvent( INativeFloat origin_x, INativeFloat origin_y, INativeInteger z,
             INativeFloat r, INativeFloat angle, INativeFloat? angle_range,
             INativeEventObject target,
             INativeInteger chk_group, INativeEventObject? except_obj, INativeInteger? hittest_cond=NULL,
             INativeLogicUnit? grid_size=NULL)const


   (origin_x,origin_y) からの視野範囲(直線的に移動できる範囲)内に指定した目標イベントがあるか判定します。
   このメソッドは指定した存在グループによる移動障害判定を使用して
   直線的に移動できる範囲を視野範囲として解釈します。
   このメソッドは grid_size 単位で判定を行います。

   ヒットテスト条件を指定した場合、
   ヒットテスト判定結果に条件に指定した項目が含まれるイベントのみ移動障害判定を処理します。
   ヒットテスト条件を指定せず、除外オブジェクトを指定した場合、
   除外オブジェクトのイベントフラグを加味した判定を行います。
   ヒットテスト条件を指定せず、除外オブジェクトも指定しなかった場合はデフォルトの判定を行います。

戻り値:目標イベントが見える場合は真を返します。

INativeFloat origin_x :視野範囲を探索する起点論理X座標(イベント論理座標基準)。
INativeFloat origin_y :視野範囲を探索する起点論理Y座標(イベント論理座標基準)。
INativeInteger z :移動障害判定を行う論理Z座標。
INativeFloat r :視野範囲を探索する距離(イベント論理座標基準)。
INativeFloat angle :視野範囲を探索する方向の中心角度(ラジアン単位)。
INativeFloat? angle_range :視野範囲を探索する方向の中心からの角度範囲(ラジアン単位)。
      この引数は中心から正負両方に伸びることに注意してください。
      空参照を指定した場合は0.0を指定したものとして扱います。
INativeEventObject target :判定する目標イベント。
INativeInteger chk_group :移動障害判定を行うグループID。下位32ビットのビットフラグ。
INativeEventObject? except_obj :移動障害判定から除外するオブジェクト。
      空参照を指定した場合は全てのイベントオブジェクトを使用して移動障害判定を行います。
INativeInteger? hittest_cond=NULL :対象にするヒットテスト条件。以下のOR結合。
      空参照を指定した場合は本文参照のこと。
識別名内容
FGESCommonEventObject::HT_EXIST存在判定がある。
FGESCommonEventObject::HT_SAMEEXIST同位置に存在する。Z座標はレイヤーが同じであれば同位置とみなす。
FGESCommonEventObject::HT_BOTTOMEXIST平面座標は一致するが、指定位置より下に存在する。
FGESCommonEventObject::HT_TOPEXIST平面座標は一致するが、指定位置より上に存在する。
FGESCommonEventObject::HT_BLOCK指定したグループに対して障害判定がある。位置は考慮しない。
FGESCommonEventObject::HT_THROUGH指定したグループに対して通過判定がある。位置は考慮しない。
INativeLogicUnit? grid_size=NULL :判定精度となるグリッドサイズ。
      空参照を指定した場合はタイル1枚分を指定したものとして扱います。

先頭へ


TileMapEventScene::TRIGGER_AUTO

readable readonly Integer TRIGGER_AUTO

   イベントトリガーで「自動開始」トリガーを意味するID。

先頭へ


TileMapEventScene::TRIGGER_CHECK

readable readonly Integer TRIGGER_CHECK

   イベントトリガーで「調べる」トリガーを意味するID。

先頭へ


TileMapEventScene::TRIGGER_TOUCH

readable readonly Integer TRIGGER_TOUCH

   イベントトリガーで「接触」トリガーを意味するID。

先頭へ


TileMapEventScene::TRIGGER_EXTRA

readable readonly Integer TRIGGER_EXTRA

   イベントトリガーで「拡張」トリガーを意味するID。

先頭へ


TileMapEventScene::TRIGGER_OVERLAP

readable readonly Integer TRIGGER_OVERLAP

   イベントトリガーで「座標重複」を意味するフラグ。

先頭へ


TileMapEventScene::TRIGGER_HOST

readable readonly Integer TRIGGER_HOST

   イベントトリガーで「自身開始」を意味するフラグ。

先頭へ


TileMapEventScene::EVENTHANDLER_CREATE

readable readonly Integer EVENTHANDLER_CREATE

   「インスタンス生成」イベントハンドラを意味するID。
   このハンドラはイベントインスタンスが作成された時に呼び出されます。

先頭へ


TileMapEventScene::EVENTHANDLER_DELETE

readable readonly Integer EVENTHANDLER_DELETE

   「インスタンス削除」イベントハンドラを意味するID。
   このハンドラはイベントインスタンスが削除される直前に呼び出されます。

先頭へ


TileMapEventScene::EVENTHANDLER_UPDATESTATE

readable readonly Integer EVENTHANDLER_UPDATESTATE

   「状態更新」イベントハンドラを意味するID。
   このハンドラはインスタンスの状態を更新する時に呼び出されます。
   このハンドラが定義されていない場合はシステム定義の方法でインスタンスの状態が更新されます。

先頭へ


TileMapEventScene::EVENTHANDLER_CHANGESTATE

readable readonly Integer EVENTHANDLER_CHANGESTATE

   「状態変化」イベントハンドラを意味するID。
   このハンドラはインスタンスの状態が変更された時に呼び出されます。

先頭へ


TileMapEventScene::STATEHANDLER_PL_RECEIVECHECK

readable readonly Integer STATEHANDLER_PL_RECEIVECHECK

   「プレイヤーから調べられた」イベント状態ハンドラを意味するID。
   このハンドラはインスタンスがプレイヤーオブジェクトから調べられた時に呼び出されます。

先頭へ


TileMapEventScene::STATEHANDLER_PL_RECEIVETOUCH

readable readonly Integer STATEHANDLER_PL_RECEIVETOUCH

   「プレイヤーから接触された」イベント状態ハンドラを意味するID。
   このハンドラはインスタンスがプレイヤーオブジェクトから接触された時に呼び出されます。

先頭へ


TileMapEventScene::STATEHANDLER_PL_HOSTCHECK

readable readonly Integer STATEHANDLER_PL_HOSTCHECK

   「プレイヤーを調べた」イベント状態ハンドラを意味するID。
   このハンドラはインスタンスがプレイヤーオブジェクトを調べた時に呼び出されます。

先頭へ


TileMapEventScene::STATEHANDLER_PL_HOSTTOUCH

readable readonly Integer STATEHANDLER_PL_HOSTTOUCH

   「プレイヤーへ接触した」イベント状態ハンドラを意味するID。
   このハンドラはインスタンスがプレイヤーオブジェクトへ接触した時に呼び出されます。

先頭へ


TileMapEventScene::STATEHANDLER_AUTO

readable readonly Integer STATEHANDLER_AUTO

   「自動開始」イベント状態ハンドラを意味するID。
   このハンドラは毎フレーム、全インスタンスに対してシーンオブジェクトから呼び出されます。

先頭へ


TileMapEventScene::STATEHANDLER_RECEIVECHECK

readable readonly Integer STATEHANDLER_RECEIVECHECK

   「他のイベントから調べられた」イベント状態ハンドラを意味するID。
   このハンドラはインスタンスが他のイベントオブジェクトから調べられた時に呼び出されます。

先頭へ


TileMapEventScene::STATEHANDLER_RECEIVETOUCH

readable readonly Integer STATEHANDLER_RECEIVETOUCH

   「他のイベントから接触された」イベント状態ハンドラを意味するID。
   このハンドラはインスタンスが他のイベントオブジェクトから接触された時に呼び出されます。

先頭へ


TileMapEventScene::STATEHANDLER_HOSTCHECK

readable readonly Integer STATEHANDLER_HOSTCHECK

   「他のイベントを調べた」イベント状態ハンドラを意味するID。
   このハンドラはインスタンスが他のイベントオブジェクトを調べた時に呼び出されます。

先頭へ


TileMapEventScene::STATEHANDLER_HOSTTOUCH

readable readonly Integer STATEHANDLER_HOSTTOUCH

   「他のイベントへ接触した」イベント状態ハンドラを意味するID。
   このハンドラはインスタンスが他のイベントオブジェクトへ接触した時に呼び出されます。

先頭へ


TileMapEventScene::STATEHANDLER_CHANGE

readable readonly Integer STATEHANDLER_CHANGE

   「この状態に変化した」イベント状態ハンドラを意味するID。
   このハンドラはインスタンスの状態が変化した時、変化後に呼び出されます。
   このハンドラが呼び出されるのは一回の状態変化につき一度だけです。

先頭へ


TileMapEventScene::STATEHANDLER_EXTRA

readable readonly Integer STATEHANDLER_EXTRA

   「拡張応答」イベント状態ハンドラを意味するID。
   このハンドラは「拡張応答」トリガーが起動された時だけ呼び出されます。

先頭へ


TileMapEventScene::EFT_GROUP

readable readonly Integer EFT_GROUP

   フィルタ条件「イベント(存在)グループ」を意味するID。

先頭へ


TileMapEventScene::EFT_HITTEST

readable readonly Integer EFT_HITTEST

   フィルタ条件「被判定(接触)グループ」を意味するID。

先頭へ


TileMapEventScene::EFT_BLOCK

readable readonly Integer EFT_BLOCK

   フィルタ条件「障害グループ」を意味するID。

先頭へ


TileMapEventScene::EFT_THROUGH

readable readonly Integer EFT_THROUGH

   フィルタ条件「通過グループ」を意味するID。

先頭へ


TileMapEventScene::EFT_GROUP_NOT

readable readonly Integer EFT_GROUP_NOT

   フィルタ条件「イベント(存在)グループの否定」を意味するID。

先頭へ


TileMapEventScene::EFT_HITTEST_NOT

readable readonly Integer EFT_HITTEST_NOT

   フィルタ条件「被判定(接触)グループの否定」を意味するID。

先頭へ


TileMapEventScene::EFT_BLOCK_NOT

readable readonly Integer EFT_BLOCK_NOT

   フィルタ条件「障害グループの否定」を意味するID。

先頭へ


TileMapEventScene::EFT_THROUGH_NOT

readable readonly Integer EFT_THROUGH_NOT

   フィルタ条件「通過グループの否定」を意味するID。

先頭へ


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

最終更新 2023/10/13