[前へ]
[目次へ]
[次へ]
HitTestInfoMap (ネイティブクラス)
このクラスは移動障害判定の情報を扱うクラスです。
このクラスはタイルセット上の各チップの判定情報を扱い、
タイルマップと連動して移動障害判定マップを構成するために使用されます。
●継承
このクラスは継承をしていません。
●インターフェイスとインターフェイスメソッド
このクラスはインターフェイスの実装宣言をしていません。
●クラスメソッド
このクラスはクラスメソッドを持っていません。
●クラスメンバメソッド
名前
概要
SetMapSize
タイルセット上のタイル数を設定します
GetMapData
各タイルの障害判定情報を一括取得します
SetMapData
各タイルの障害判定情報を一括設定します
GetTile
指定したタイルの障害判定情報を取得します
SetTile
指定したタイルの障害判定情報を設定します
FillTile
指定したタイル範囲の障害判定情報を設定します
AdjustInOutGrid
指定したタイル範囲の進入/離脱判定情報を調整します
●クラス共有変数
名前
概要
NORMAL
タイル単位で処理
DETAIL
オートタイルで合成された個別の情報で処理
PIXEL
タイルの透過度が64以上のピクセルのみ処理
●インスタンス変数
このクラスはインスタンス変数を持っていません。
●C++レベル追加情報
クラスID:
FGES_CLASSID_HITTESTINFOMAP
クラス名:
FGESHitTestInfoMap
HitTestInfoMap::SetMapSize
public
Bool
SetMapSize(
INativeInteger
width,
INativeInteger
height,
INativeInteger
? mode=NULL)
このオブジェクトが示すタイルセットに収録されるタイルサブグリッド数を設定します。
タイルサブグリッドを使用しない場合はタイルサブグリッド数はタイル枚数と等しくなります。
mode
を
DETAIL
に設定すると、オートタイル処理で合成されているタイルについて、
合成に使用された個別の障害判定情報を使って処理します。
この設定を有効にすると障害判定情報の更新処理が重くなります。
mode
を
PIXEL
に設定すると、タイルの描画内容をピクセル単位で参照し、
透過度が64以上のピクセルに対してのみ障害判定を行います。
この設定を有効にすると障害判定情報の更新処理がかなり重くなります。
戻り値:設定に成功すると真を返します。
INativeInteger
width
:タイルセットの横幅(タイルサブグリッド数)。
INativeInteger
height
:タイルセットの縦幅(タイルサブグリッド数)。
INativeInteger
? mode=NULL
:タイル内の障害判定処理方法を指定します。以下のいずれか。
値
内容
HitTestInfoMap::NORMAL
タイル単位で処理します(デフォルト)
HitTestInfoMap::DETAIL
オートタイルで合成された個別の情報で処理します
HitTestInfoMap::PIXEL
タイルの透過度が64以上のピクセルのみ障害判定を行います
先頭へ
HitTestInfoMap::GetMapData
public
Bool
GetMapData(editable
PIntArray
block_map,editable
PIntArray
through_map)const
このオブジェクトが示す障害判定情報を二つの配列に一括取得します。
判定マップの座標と配列要素の対応関係は
[y*width+x]
となります。
戻り値:処理に成功すると真を返します。
editable
PIntArray
block_map
:[出力]障害情報を出力する配列オブジェクト。
editable
PIntArray
through_map
:[出力]通過情報を出力する配列オブジェクト。
先頭へ
HitTestInfoMap::SetMapData
public
Bool
SetMapData(
PIntArray
block_map,
PIntArray
through_map,
INativeInteger
? map_mag=NULL)
障害判定情報を二つの配列から一括設定します。
二つの配列の要素は
map_mag
づつ繰り返されているものとして扱います。
二つの配列の要素数はこのオブジェクトに設定されているタイル枚数と同じでなければいけません。
判定マップの座標と配列要素の対応関係は
[y/map_mag*width+x/map_mag]
となります。
戻り値:設定に成功すると真を返します。
PIntArray
block_map
:障害情報を格納した配列。
PIntArray
through_map
:通過情報を格納した配列。
INativeInteger
? map_mag=NULL
:情報を格納した配列の繰り返し数(1〜16)。
空参照を指定した場合は1が指定されたものとして扱います。
先頭へ
HitTestInfoMap::GetTile
public
Bool
GetTile(
INativeInteger
x,
INativeInteger
y,
editable
INativeInteger
block_info,editable
INativeInteger
through_info)const
指定した座標の障害判定情報を取得します。
戻り値:処理に成功すると真を返します。
INativeInteger
x
:取得するタイルのX座標。
INativeInteger
y
:取得するタイルのY座標。
editable
INativeInteger
block_info
:[出力]障害情報を出力するオブジェクト。
editable
INativeInteger
through_info
:[出力]通過情報を出力するオブジェクト。
先頭へ
HitTestInfoMap::SetTile
public
Bool
SetTile(
INativeInteger
x,
INativeInteger
y,
INativeInteger
block_info,
INativeInteger
through_info)
指定した座標の障害判定情報を設定します。
戻り値:処理に成功すると真を返します。
INativeInteger
x
:設定するタイルのX座標。
INativeInteger
y
:設定するタイルのY座標。
INativeInteger
block_info
:設定する障害情報。
INativeInteger
through_info
:設定する通過情報。
先頭へ
HitTestInfoMap::FillTile
public
Bool
FillTile(
INativeInteger
x,
INativeInteger
y,
INativeInteger
width,
INativeInteger
height,
INativeInteger
block_info,
INativeInteger
through_info)
指定した範囲の障害判定情報を一括設定します。
戻り値:処理に成功すると真を返します。
INativeInteger
x
:設定するタイル範囲の左上X座標。
INativeInteger
y
:設定するタイル範囲の左上Y座標。
INativeInteger
width
:設定するタイル範囲の横幅。
INativeInteger
height
:設定するタイル範囲の縦幅。
INativeInteger
block_info
:設定する障害情報。
INativeInteger
through_info
:設定する通過情報。
先頭へ
HitTestInfoMap::AdjustInOutGrid
public
Bool
AdjustInOutGrid(
INativeInteger
x,
INativeInteger
y,
INativeInteger
? width,
INativeInteger
? height,
INativeInteger
? grid_width,
INativeInteger
? grid_height)
指定した範囲の障害判定情報に含まれる進入/離脱判定情報を調整します。
このメソッドは指定したグリッド境界にあたる部分以外の進入/離脱判定情報を削除します。
これによりグリッド単位の処理としてより自然な判定が可能になります。
戻り値:処理に成功すると真を返します。
INativeInteger
x
:処理するタイル範囲の左上X座標。
INativeInteger
y
:処理するタイル範囲の左上Y座標。
INativeInteger
? width
:処理するタイル範囲の横幅。
空参照を指定した場合は開始位置以降の全てとして扱います。
INativeInteger
? height
:処理するタイル範囲の縦幅。
空参照を指定した場合は開始位置以降の全てとして扱います。
INativeInteger
? grid_width
:グリッドの横幅。
空参照を指定した場合はイベントシステムのタイルサブグリッド数を指定したものとして扱います。
INativeInteger
? grid_height
:グリッドの縦幅。
空参照を指定した場合はイベントシステムのタイルサブグリッド数を指定したものとして扱います。
先頭へ
HitTestInfoMap::NORMAL
public readonly
Integer
NORMAL
タイル単位で障害判定を処理することを示す定数。
先頭へ
HitTestInfoMap::DETAIL
public readonly
Integer
DETAIL
オートタイルで合成された個別の情報で処理することを示す定数。
先頭へ
HitTestInfoMap::PIXEL
public readonly
Integer
PIXEL
タイルの透過度が64以上のピクセルのみ処理することを示す定数。
先頭へ
[前へ]
[目次へ]
[次へ]
最終更新 2023/09/20