1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
void sprite::init(wchar_t* filename, LPDIRECT3DDEVICE9 pDevice)
{
D3DSURFACE_DESC dsc;
if(FAILED(D3DXCreateSprite(pDevice,&sp)))
{
MessageBox(NULL,TEXT("Erzeugen des Sprites fehlgeschlagen!"), TEXT(""), MB_OK|MB_ICONERROR|MB_SETFOREGROUND);
}
if(FAILED(D3DXCreateTextureFromFileEx(pDevice,filename,500,500,0,0,D3DFMT_UNKNOWN,D3DPOOL_DEFAULT,D3DX_DEFAULT,D3DX_DEFAULT,0xFFC00C0,NULL,NULL,&tx)))
{
MessageBox(NULL,TEXT("Laden des Sprites aus Datei fehlgeschlagen!"), TEXT(""), MB_OK|MB_ICONERROR|MB_SETFOREGROUND);
}
tx->GetLevelDesc(0, &dsc);
width=dsc.Width;
height=dsc.Height;
}
void sprite::draw(HWND hWnd)
{
D3DXVECTOR3 vCenter(0.0f,0.0f,0.0f);
D3DXVECTOR3 vPosition(0.0f,0.0f,0.0f);
D3DCOLOR ModulateColor = 0xFFFFFFFF;
if(FAILED(sp->Begin(D3DXSPRITE_ALPHABLEND)))
{
MessageBox(NULL,TEXT("Beginn des Rendervorgangs fehlgeschlagen!"), TEXT(""), MB_OK|MB_ICONERROR|MB_SETFOREGROUND);
}
if(FAILED(sp->Draw(tx,NULL,&vCenter,&vPosition,ModulateColor)))
{
MessageBox(NULL,TEXT("Blitten des Sprites fehlgeschlagen!"), TEXT(""), MB_OK|MB_ICONERROR|MB_SETFOREGROUND);
}
if(sp->End())
{
MessageBox(NULL,TEXT("Beenden des Rendervorgangs fehlgeschlagen!"), TEXT(""), MB_OK|MB_ICONERROR|MB_SETFOREGROUND);
}
}
|