#1
by kurou » 5年前
今directxの2dでゲームを作っているのですが二次元配列のマップチップとの当たり判定にこまっています教えてください。よろしくお願いします。
コード:
HRESULT MakeVertexTutoBlock(void);
void SetVertexTutoBlock(void);
//void SetVertexBlock(float x, float y, float z);
//void SetBB(int block_x, int block_y);
static void Setbb(void);
static D3DXVECTOR3 tuto_possize(int tate, int yoko);
//*****************************************************************************
// グローバル変数
//*****************************************************************************
static LPDIRECT3DTEXTURE9 Texture_Block = NULL; // テクスチャへのポリゴン
static D3DXVECTOR3 Old_Y;
static TUTOBLOCK tuto_block[TUTOBLOCK_MAX];
int tuto_mapdata[TUTO_MAX_HEIGHT][TUTO_MAX_WIDTH] = {
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
};
//
//RECT rcMapChip[MAX_HEIGHT*MAX_WIDTH]; //表示する矩形のセット
//=============================================================================
// 初期化処理
//=============================================================================
HRESULT InitTutoBlock(int type)
{
TUTOBLOCK *tuto_block = GetTutoBlock(0);
PLAYER *player = GetPlayer(0);
LPDIRECT3DDEVICE9 pDevice = GetDevice();
if (type == 0)
{
// テクスチャの読み込み
D3DXCreateTextureFromFile(pDevice, // デバイスのポインタ
TEXTURE_TUTO_BLOCK, // ファイルの名前
&Texture_Block); // 読み込むメモリのポインタ
}
//
tuto_block->bmap_pos = D3DXVECTOR3(0.0f,0.0f, 0.0f); //ウインドウの左上
tuto_block->scr = D3DXVECTOR3(0.0f, 0.0f, 0.0f); //ウインドウの左上
tuto_block->Old_X=D3DXVECTOR3(0.0f, 0.0f, 0.0f);
Old_Y = D3DXVECTOR3(0.0f, 0.0f, 0.0f);
tuto_block->Texture_Tuto_Block = Texture_Block;
// 頂点情報の作成 ポリゴンの頂点
MakeVertexTutoBlock();
return S_OK;
}
//=============================================================================
// 終了処理
//=============================================================================
void UninitTutoBlock(void)
{
if (Texture_Block != NULL)
{
// テクスチャの開放
Texture_Block->Release();
Texture_Block = NULL;
}
}
//=============================================================================
// 描画処理
//=============================================================================
void DrawTutoBlock(void)
{
PLAYER *player = GetPlayer(0);
TUTOBLOCK *tuto_block = GetTutoBlock(0);
LPDIRECT3DDEVICE9 pDevice = GetDevice();
//マップを描く
for (int i = 0; i < TUTO_MAX_HEIGHT; i++)
{
for (int j = 0; j < TUTO_MAX_WIDTH; j++)
{
switch (tuto_mapdata[i][j])
{
case 0:
break;
case 1:
// 頂点フォーマットの設定
pDevice->SetFVF(FVF_VERTEX_2D);
// テクスチャの設定 テクスチャ―に張り付ける テクスチャを切り替えながら張り付ける
pDevice->SetTexture(0, tuto_block->Texture_Tuto_Block);
tuto_block->bmap_pos = tuto_possize(i, j);
//SetBB((int)tuto_block->bmap_pos.x, (int)tuto_block->bmap_pos.y);
Setbb();
SetVertexTutoBlock();
// ポリゴンの描画
pDevice->DrawPrimitiveUP(D3DPT_TRIANGLESTRIP, NUM_BLOCK, tuto_block->vertexWk_Block, sizeof(VERTEX_2D));
break;
}
}
}
}
D3DXVECTOR3 tuto_possize(int tate, int yoko)
{
return D3DXVECTOR3((FLOAT)yoko * 32, (FLOAT)tate * 32, 0);
}
//=============================================================================
// 頂点の作成
//=============================================================================
HRESULT MakeVertexTutoBlock(void)
{
TUTOBLOCK *tuto_block = GetTutoBlock(0);
LPDIRECT3DDEVICE9 pDevice = GetDevice();
// 頂点座標の設定
//tuto_block->vertexWk_Block[0].vtx = D3DXVECTOR3(tuto_block->bmap_pos.x, tuto_block->bmap_pos.y, tuto_block->bmap_pos.z) + tuto_block->scr;
//tuto_block->vertexWk_Block[1].vtx = D3DXVECTOR3(tuto_block->bmap_pos.x + BOSS_BLOCK_X, tuto_block->bmap_pos.y, tuto_block->bmap_pos.z) + tuto_block->scr;
//tuto_block->vertexWk_Block[2].vtx = D3DXVECTOR3(tuto_block->bmap_pos.x, tuto_block->bmap_pos.y + BOSS_BOSS_BLOCK_Y, tuto_block->bmap_pos.z) + tuto_block->scr;
//tuto_block->vertexWk_Block[3].vtx = D3DXVECTOR3(tuto_block->bmap_pos.x + BOSS_BLOCK_X, tuto_block->bmap_pos.y + BOSS_BOSS_BLOCK_Y, tuto_block->bmap_pos.z) + tuto_block->scr;
tuto_block->vertexWk_Block[0].vtx = D3DXVECTOR3(tuto_block->bmap_pos.x, tuto_block->bmap_pos.y, tuto_block->bmap_pos.z);
tuto_block->vertexWk_Block[1].vtx = D3DXVECTOR3(tuto_block->bmap_pos.x + TUTOBLOCK_X, tuto_block->bmap_pos.y, tuto_block->bmap_pos.z);
tuto_block->vertexWk_Block[2].vtx = D3DXVECTOR3(tuto_block->bmap_pos.x, tuto_block->bmap_pos.y + TUTOBLOCK_Y, tuto_block->bmap_pos.z);
tuto_block->vertexWk_Block[3].vtx = D3DXVECTOR3(tuto_block->bmap_pos.x + TUTOBLOCK_X, tuto_block->bmap_pos.y + TUTOBLOCK_Y, tuto_block->bmap_pos.z);
// rhwの設定 表示順位
tuto_block->vertexWk_Block[0].rhw =
tuto_block->vertexWk_Block[1].rhw =
tuto_block->vertexWk_Block[2].rhw =
tuto_block->vertexWk_Block[3].rhw = 1.0f;
// 反射光の設定
tuto_block->vertexWk_Block[0].diffuse = D3DCOLOR_RGBA(255, 255, 255, 255);
tuto_block->vertexWk_Block[1].diffuse = D3DCOLOR_RGBA(255, 255, 255, 255);
tuto_block->vertexWk_Block[2].diffuse = D3DCOLOR_RGBA(255, 255, 255, 255);
tuto_block->vertexWk_Block[3].diffuse = D3DCOLOR_RGBA(255, 255, 255, 255);
// テクスチャ座標の設定
tuto_block->vertexWk_Block[0].tex = D3DXVECTOR2(0.0f, 0.0f);
tuto_block->vertexWk_Block[1].tex = D3DXVECTOR2(1.0f, 0.0f);
tuto_block->vertexWk_Block[2].tex = D3DXVECTOR2(0.0f, 1.0f);
tuto_block->vertexWk_Block[3].tex = D3DXVECTOR2(1.0f, 1.0f);
return S_OK;
}
//=============================================================================
// 頂点座標の設定
//=============================================================================
void SetVertexTutoBlock(void)
{
PLAYER *player = GetPlayer(0);
TUTOBLOCK *block = GetTutoBlock(0);
// 頂点座標の設定
tuto_block->vertexWk_Block[0].vtx = D3DXVECTOR3(tuto_block->bmap_pos.x, tuto_block->bmap_pos.y, tuto_block->bmap_pos.z);
tuto_block->vertexWk_Block[1].vtx = D3DXVECTOR3(tuto_block->bmap_pos.x + TUTOBLOCK_X, tuto_block->bmap_pos.y, tuto_block->bmap_pos.z);
tuto_block->vertexWk_Block[2].vtx = D3DXVECTOR3(tuto_block->bmap_pos.x, tuto_block->bmap_pos.y + TUTOBLOCK_Y, tuto_block->bmap_pos.z);
tuto_block->vertexWk_Block[3].vtx = D3DXVECTOR3(tuto_block->bmap_pos.x + TUTOBLOCK_X, tuto_block->bmap_pos.y + TUTOBLOCK_Y, tuto_block->bmap_pos.z);
}
今directxの2dでゲームを作っているのですが二次元配列のマップチップとの当たり判定にこまっています教えてください。よろしくお願いします。
[code]
HRESULT MakeVertexTutoBlock(void);
void SetVertexTutoBlock(void);
//void SetVertexBlock(float x, float y, float z);
//void SetBB(int block_x, int block_y);
static void Setbb(void);
static D3DXVECTOR3 tuto_possize(int tate, int yoko);
//*****************************************************************************
// グローバル変数
//*****************************************************************************
static LPDIRECT3DTEXTURE9 Texture_Block = NULL; // テクスチャへのポリゴン
static D3DXVECTOR3 Old_Y;
static TUTOBLOCK tuto_block[TUTOBLOCK_MAX];
int tuto_mapdata[TUTO_MAX_HEIGHT][TUTO_MAX_WIDTH] = {
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
};
//
//RECT rcMapChip[MAX_HEIGHT*MAX_WIDTH]; //表示する矩形のセット
//=============================================================================
// 初期化処理
//=============================================================================
HRESULT InitTutoBlock(int type)
{
TUTOBLOCK *tuto_block = GetTutoBlock(0);
PLAYER *player = GetPlayer(0);
LPDIRECT3DDEVICE9 pDevice = GetDevice();
if (type == 0)
{
// テクスチャの読み込み
D3DXCreateTextureFromFile(pDevice, // デバイスのポインタ
TEXTURE_TUTO_BLOCK, // ファイルの名前
&Texture_Block); // 読み込むメモリのポインタ
}
//
tuto_block->bmap_pos = D3DXVECTOR3(0.0f,0.0f, 0.0f); //ウインドウの左上
tuto_block->scr = D3DXVECTOR3(0.0f, 0.0f, 0.0f); //ウインドウの左上
tuto_block->Old_X=D3DXVECTOR3(0.0f, 0.0f, 0.0f);
Old_Y = D3DXVECTOR3(0.0f, 0.0f, 0.0f);
tuto_block->Texture_Tuto_Block = Texture_Block;
// 頂点情報の作成 ポリゴンの頂点
MakeVertexTutoBlock();
return S_OK;
}
//=============================================================================
// 終了処理
//=============================================================================
void UninitTutoBlock(void)
{
if (Texture_Block != NULL)
{
// テクスチャの開放
Texture_Block->Release();
Texture_Block = NULL;
}
}
//=============================================================================
// 描画処理
//=============================================================================
void DrawTutoBlock(void)
{
PLAYER *player = GetPlayer(0);
TUTOBLOCK *tuto_block = GetTutoBlock(0);
LPDIRECT3DDEVICE9 pDevice = GetDevice();
//マップを描く
for (int i = 0; i < TUTO_MAX_HEIGHT; i++)
{
for (int j = 0; j < TUTO_MAX_WIDTH; j++)
{
switch (tuto_mapdata[i][j])
{
case 0:
break;
case 1:
// 頂点フォーマットの設定
pDevice->SetFVF(FVF_VERTEX_2D);
// テクスチャの設定 テクスチャ―に張り付ける テクスチャを切り替えながら張り付ける
pDevice->SetTexture(0, tuto_block->Texture_Tuto_Block);
tuto_block->bmap_pos = tuto_possize(i, j);
//SetBB((int)tuto_block->bmap_pos.x, (int)tuto_block->bmap_pos.y);
Setbb();
SetVertexTutoBlock();
// ポリゴンの描画
pDevice->DrawPrimitiveUP(D3DPT_TRIANGLESTRIP, NUM_BLOCK, tuto_block->vertexWk_Block, sizeof(VERTEX_2D));
break;
}
}
}
}
D3DXVECTOR3 tuto_possize(int tate, int yoko)
{
return D3DXVECTOR3((FLOAT)yoko * 32, (FLOAT)tate * 32, 0);
}
//=============================================================================
// 頂点の作成
//=============================================================================
HRESULT MakeVertexTutoBlock(void)
{
TUTOBLOCK *tuto_block = GetTutoBlock(0);
LPDIRECT3DDEVICE9 pDevice = GetDevice();
// 頂点座標の設定
//tuto_block->vertexWk_Block[0].vtx = D3DXVECTOR3(tuto_block->bmap_pos.x, tuto_block->bmap_pos.y, tuto_block->bmap_pos.z) + tuto_block->scr;
//tuto_block->vertexWk_Block[1].vtx = D3DXVECTOR3(tuto_block->bmap_pos.x + BOSS_BLOCK_X, tuto_block->bmap_pos.y, tuto_block->bmap_pos.z) + tuto_block->scr;
//tuto_block->vertexWk_Block[2].vtx = D3DXVECTOR3(tuto_block->bmap_pos.x, tuto_block->bmap_pos.y + BOSS_BOSS_BLOCK_Y, tuto_block->bmap_pos.z) + tuto_block->scr;
//tuto_block->vertexWk_Block[3].vtx = D3DXVECTOR3(tuto_block->bmap_pos.x + BOSS_BLOCK_X, tuto_block->bmap_pos.y + BOSS_BOSS_BLOCK_Y, tuto_block->bmap_pos.z) + tuto_block->scr;
tuto_block->vertexWk_Block[0].vtx = D3DXVECTOR3(tuto_block->bmap_pos.x, tuto_block->bmap_pos.y, tuto_block->bmap_pos.z);
tuto_block->vertexWk_Block[1].vtx = D3DXVECTOR3(tuto_block->bmap_pos.x + TUTOBLOCK_X, tuto_block->bmap_pos.y, tuto_block->bmap_pos.z);
tuto_block->vertexWk_Block[2].vtx = D3DXVECTOR3(tuto_block->bmap_pos.x, tuto_block->bmap_pos.y + TUTOBLOCK_Y, tuto_block->bmap_pos.z);
tuto_block->vertexWk_Block[3].vtx = D3DXVECTOR3(tuto_block->bmap_pos.x + TUTOBLOCK_X, tuto_block->bmap_pos.y + TUTOBLOCK_Y, tuto_block->bmap_pos.z);
// rhwの設定 表示順位
tuto_block->vertexWk_Block[0].rhw =
tuto_block->vertexWk_Block[1].rhw =
tuto_block->vertexWk_Block[2].rhw =
tuto_block->vertexWk_Block[3].rhw = 1.0f;
// 反射光の設定
tuto_block->vertexWk_Block[0].diffuse = D3DCOLOR_RGBA(255, 255, 255, 255);
tuto_block->vertexWk_Block[1].diffuse = D3DCOLOR_RGBA(255, 255, 255, 255);
tuto_block->vertexWk_Block[2].diffuse = D3DCOLOR_RGBA(255, 255, 255, 255);
tuto_block->vertexWk_Block[3].diffuse = D3DCOLOR_RGBA(255, 255, 255, 255);
// テクスチャ座標の設定
tuto_block->vertexWk_Block[0].tex = D3DXVECTOR2(0.0f, 0.0f);
tuto_block->vertexWk_Block[1].tex = D3DXVECTOR2(1.0f, 0.0f);
tuto_block->vertexWk_Block[2].tex = D3DXVECTOR2(0.0f, 1.0f);
tuto_block->vertexWk_Block[3].tex = D3DXVECTOR2(1.0f, 1.0f);
return S_OK;
}
//=============================================================================
// 頂点座標の設定
//=============================================================================
void SetVertexTutoBlock(void)
{
PLAYER *player = GetPlayer(0);
TUTOBLOCK *block = GetTutoBlock(0);
// 頂点座標の設定
tuto_block->vertexWk_Block[0].vtx = D3DXVECTOR3(tuto_block->bmap_pos.x, tuto_block->bmap_pos.y, tuto_block->bmap_pos.z);
tuto_block->vertexWk_Block[1].vtx = D3DXVECTOR3(tuto_block->bmap_pos.x + TUTOBLOCK_X, tuto_block->bmap_pos.y, tuto_block->bmap_pos.z);
tuto_block->vertexWk_Block[2].vtx = D3DXVECTOR3(tuto_block->bmap_pos.x, tuto_block->bmap_pos.y + TUTOBLOCK_Y, tuto_block->bmap_pos.z);
tuto_block->vertexWk_Block[3].vtx = D3DXVECTOR3(tuto_block->bmap_pos.x + TUTOBLOCK_X, tuto_block->bmap_pos.y + TUTOBLOCK_Y, tuto_block->bmap_pos.z);
}
[/code]