1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
void CSprite::Draw(LPD3DXSPRITE sprite, D3DXVECTOR2* pos, float rotation, float scale, int row, int column)
{
D3DXMATRIX mat;
D3DXVECTOR2 drawScale(scale,scale);
m_centre = D3DXVECTOR2((column-1)*m_frameWidth + (float)m_frameWidth/2, (row-1)*m_frameHeight + (float)m_frameHeight/2);
D3DXMatrixTransformation2D(&mat,NULL,0.0,&drawScale,&m_centre,rotation,pos);
sprite->SetTransform(&mat);
RECT rct;
rct.left = (column-1)*m_frameWidth;
rct.right= column*m_frameWidth;
rct.top=(row-1)*m_frameHeight;
rct.bottom=row*m_frameHeight;
sprite->Begin(D3DXSPRITE_ALPHABLEND);
sprite->Draw(m_texture, &rct, NULL, NULL, 0xFFFFFFFF);
sprite->End();
}
|