首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络游戏 >

请问怎么利用DXSDK9.0来绘制二维图片

2012-02-14 
请教如何利用DXSDK9.0来绘制二维图片在一个界面如何实现多个精灵绘制在屏幕上是根据D3D的创建多个3D纹理绘

请教如何利用DXSDK9.0来绘制二维图片
在一个界面如何实现多个精灵绘制在屏幕上
是根据D3D的创建多个3D纹理绘制在在屏幕上还是另有诀窍
希望能有个实例,有教程更好

[解决办法]
用ID3DXSprite可以绘制二维图片
[解决办法]
这里有个例子

http://hi.baidu.com/_%E2d_%B7%B3_%DE%B2%C2%D2/blog/item/469b7d97e78f306854fb9669.html
[解决办法]
sprite绘制图片的那部分代码,可以简单的封装一下再用,比如这样:

C/C++ code
//参数:用于绘制的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 ));} 

热点排行