MagicalKaine
 全て クラス ファイル 関数 変数 列挙型 列挙型の値
クラス CMapCellManager

マップセルの管理をするクラス [詳細]

#include <CMapCellManager.h>

CMapCellManagerのコラボレーション図
Collaboration graph

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 ];

列挙型

マップセルに配置されるものの種類です。

列挙型の値
WALL 
EMPTY 
OUTSIDE_TOP 
OUTSIDE_UNDER 
OTHER 

移動先のマップセルの種類です。

列挙型の値
TOP 
UNDER 

コンストラクタとデストラクタ

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)

呼出しグラフ:

変数

const int CMapCellManager::BEGIN_COLUMN = 180
static

x座標0〜179はメニュー画面なので、マップはx座標180から

const int CMapCellManager::COORDINATES_ORIGIN_X = 0
static

原点OのX座標

const int CMapCellManager::COORDINATES_ORIGIN_Y = 0
static

原点OのY座標

const int CMapCellManager::MAP_CHIP_LENGTH = 60
static
const int CMapCellManager::TOTAL_COLUMN = 8
static

マップチップは横に8列並べます。

const int CMapCellManager::TOTAL_ROW = 9
static

マップチップは縦に9行並べます。


このクラスの説明は次のファイルから生成されました: