#include "DxLib.h"
#include <vector>
using namespace std;
struct unitst
{
int graph[4][4];
int houkou;
int anime;
};
vector<unitst> unit;
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow )
{
ChangeWindowMode( TRUE ) ;
if( DxLib_Init() == -1 )
{
return -1 ;
}
SetDrawScreen( DX_SCREEN_BACK ) ;
SetTransColor( 0 , 117 , 117 ) ;
unitst temp;
int graph = LoadGraph("test.bmp", TRUE);
for (int a = 0; a < 4; a++)
{
for(int b = 0; b < 3; b++)
{
temp.graph[a][b] = DerivationGraph( b * 24, a * 32, 24, 32, graph ) ;
}
temp.graph[a][3] = temp.graph[a][1];
}
temp.houkou = 0;
temp.anime = 0;
unit.push_back(temp);
int count = 0;
int i = 0;
while(1)
{
if( ProcessMessage() == -1 )
{
break ;
}
count ++;
if (count % 10 == 0) unit[i].anime ++;
if (unit[i].anime > 3) unit[i].anime = 0;
if (count % 50 == 0) unit[i].houkou ++;
if (unit[i].houkou > 3) unit[i].houkou = 0;
DrawBox(0, 0, 640, 480, GetColor(0, 0, 0), TRUE);
//(ここが問題です) SetDrawBlendMode( DX_BLENDMODE_ALPHA , 128 ) ;
DrawGraph(20, 20, unit[i].graph[unit[i].houkou][unit[i].anime], TRUE);
SetDrawBlendMode( DX_BLENDMODE_NOBLEND , 0 ) ;
ScreenFlip();
}
DxLib_End() ;
return 0 ;
}
コメントアウトを外すと、問題が発生するようです。ご確認願えますでしょうか。
使用しているソフトは、VisualC++2005ExpressEditionです。