MagicalKaine
|
マップセルの管理をするクラス [詳細]
#include <CMapCellManager.h>
Public 型 | |
enum | EMapObjectType { WALL, EMPTY, OUTSIDE_TOP, OUTSIDE_UNDER, OTHER } |
enum | ESwitchType { TOP, UNDER } |
Public メソッド | |
CMapCellManager (void) | |
~CMapCellManager (void) | |
EMapObjectType | GetMapCellDataByGrid (int arg_iBase_X_ByGrid, int arg_iBase_Y_ByGrid, int arg_iVariation_X_ByGrid, int arg_iVariation_Y_ByGrid) |
指定した座標に配置されている物のタイプを取得します。 [詳細] | |
void | Run (CImageManager *arg_pinImageManager, CAllKeysState *arg_pinAllKeysState) |
現在画面に表示されているマップセルを実行します。 [詳細] | |
void | SwitchMapCell (ESwitchType arg_eSwitchType) |
Static Public 変数 | |
static const int | MAP_CHIP_LENGTH = 60 |
static const int | BEGIN_COLUMN = 180 |
x座標0〜179はメニュー画面なので、マップはx座標180から [詳細] | |
static const int | TOTAL_COLUMN = 8 |
マップチップは横に8列並べます。 [詳細] | |
static const int | TOTAL_ROW = 9 |
マップチップは縦に9行並べます。 [詳細] | |
static const int | COORDINATES_ORIGIN_X = 0 |
原点OのX座標 [詳細] | |
static const int | COORDINATES_ORIGIN_Y = 0 |
原点OのY座標 [詳細] | |
マップセルの管理をするクラス
【マップセル】…このゲームでは、画面の端まで行くと 別のマップに移動するシステムになっています。 全体マップを小分けにした、一画面で表示される範囲を、 マップセルと呼ぶこととしています。
【グリッド座標】…pixel座標をマップチップの長さで 割った座標のことをさします。
例) 下から3列、左から5行目→(120, 360)(pixel座標) →( 2, 6)(グリッド座標)
配列の要素数と対応していますが、Y→Xの順番で 指定することに注意する必要があります。
例) vveMapCellData[ 2 ][ 6 ];
CMapCellManager::CMapCellManager | ( | void | ) |
CMapCellManager::~CMapCellManager | ( | void | ) |
CMapCellManager::EMapObjectType CMapCellManager::GetMapCellDataByGrid | ( | int | arg_iBase_X_ByGrid, |
int | arg_iBase_Y_ByGrid, | ||
int | arg_iVariation_X_ByGrid, | ||
int | arg_iVariation_Y_ByGrid | ||
) |
指定した座標に配置されている物のタイプを取得します。
CMapCellManagerクラスはマップセルの配列の中から 現在画面に表示されているマップセルの同名のメンバ関数に問い合わせます。 ですので、実際の処理を行うのはCMapCellクラスです。
pixel座標ではなく、配列の要素数として使えるグリッド座標を 引数として渡す必要があります。
第3引数と第4引数に、変位座標を指定できます。
使用例) 左下から数えて6列7行目の場所から、 一つ上のグリッド座標に配置されている物のタイプ
GetMapCellDataByGrid( 6, 5, 0, 1);
void CMapCellManager::Run | ( | CImageManager * | arg_pinImageManager, |
CAllKeysState * | arg_pinAllKeysState | ||
) |
現在画面に表示されているマップセルを実行します。
void CMapCellManager::SwitchMapCell | ( | ESwitchType | arg_eSwitchType | ) |
|
static |
x座標0〜179はメニュー画面なので、マップはx座標180から
|
static |
原点OのX座標
|
static |
原点OのY座標
|
static |
|
static |
マップチップは横に8列並べます。
|
static |
マップチップは縦に9行並べます。