请教如何利用DXSDK9.0来绘制二维图片
在一个界面如何实现多个精灵绘制在屏幕上
是根据D3D的创建多个3D纹理绘制在在屏幕上还是另有诀窍
希望能有个实例,有教程更好
[解决办法]
用ID3DXSprite可以绘制二维图片
[解决办法]
这里有个例子
http://hi.baidu.com/_%E2d_%B7%B3_%DE%B2%C2%D2/blog/item/469b7d97e78f306854fb9669.html
[解决办法]
sprite绘制图片的那部分代码,可以简单的封装一下再用,比如这样:
//参数:用于绘制的ID3DXSprite,需要绘制的图片,图片中需要显示的部分,要绘制到屏幕上的目标区域、底色bool DrawImage(ID3DXSprite* sprite; IDirect3DTexture9* image,RECT& src,RECT& dest,D3DCOLOR color){ if(sprite==0 || image==0) return false; RECT rcTexture=src; RECT rcScreen=dest; float fScaleX = ( float )RectWidth( rcScreen ) / RectWidth( rcTexture ); float fScaleY = ( float )RectHeight( rcScreen ) / RectHeight( rcTexture ); D3DXMATRIXA16 matTransform; D3DXMatrixScaling( &matTransform, fScaleX, fScaleY, 1.0f ); sprite->SetTransform((D3DXMATRIX*)&matrix); D3DXVECTOR3 vPos(rcScreen.left,rcScreen.top, 0 ); vPos.x /= fScaleX; vPos.y /= fScaleY; return SUCCEEDED(sprite->Draw( image, &rcTexture, NULL, &vPos,color ));}