اینم یه نمونه:
void Dxtest2Dlg::Draw( IDirect3DDevice9 *pocDevice )
{
D3DXIMAGE_INFO d3dxImageInfo;
D3DXCreateTextureFromFileEx( pocDevice,
"fighter.bmp",
1152,//m_nWidth, // I had to set width manually. D3DPOOL_DEFAULT works for textures but causes problems for D3DXSPRITE.
216,//m_nHeight, // I had to set height manually. D3DPOOL_DEFAULT works for textures but causes problems for D3DXSPRITE.
1, // Don't create mip-maps when you plan on using D3DXSPRITE. It throws off the pixel math for sprite animation.
0, //D3DPOOL_DEFAULT,
D3DFMT_UNKNOWN,
D3DPOOL_MANAGED, //D3DPOOL_DEFAULT,
D3DX_DEFAULT,
D3DX_DEFAULT,
D3DCOLOR_COLORVALUE(0.0f,0.0f,0.0f,1.0f),
&d3dxImageInfo,
NULL,
&m_pSpriteTexture );
D3DXCreateSprite( pocDevice, &m_pD3DXSprite );
D3DXVECTOR3 vCenter( 0.0f, 0.0f, 0.0f );
D3DXVECTOR3 vPosition( 0.0f, 0.0f, 0.0f );
D3DXMATRIX matRotate;
D3DXVECTOR2 vSpriteCenter( 125, 54 ); ///center of rotation
//strech 150% and Rotate 5.0 Radian
D3DXMatrixAffineTransformation2D( &matRotate, 1.5, &vSpriteCenter, 5.0f, NULL );
m_pD3DXSprite -> Begin( D3DXSPRITE_ALPHABLEND );
{
m_pD3DXSprite->SetTransform( &matRotate );
m_pD3DXSprite->Draw( m_pSpriteTexture,
CRect( 0, 0, 250, 108 ),
&vCenter,
&vPosition,
D3DCOLOR_COLORVALUE(1.0f,1.0f,1.0f,1.0f) );
}
m_pD3DXSprite->End();
}