DirectX的顯示錯誤? |
尚未結案
|
fatming
一般會員 ![]() ![]() 發表:10 回覆:7 積分:3 註冊:2004-09-30 發送簡訊給我 |
再A電腦編譯執行後跑到B電腦執行卻出現不同的結果 EX:使用ID3DXSprite切下一塊512*512大小的區塊順利出現該塊圖像,
再另一台電腦上用執行檔執行後,所出現的卻是16塊縮小且呈現
4x4的排列方式,不過累積的大小也是512*512不知道是哪裡出了問
題,懇請各位賜教.
感謝
//==========code//================
使用下面這個function
CutPic(512,512,1,1,D3dImage->g_pTexture,1,roat,0,0);
該function如下
void D3dpSprite::CutPic(int CutPicRangeX ,int CutPicRangeY ,int WhichonePicX,
int WhichonePicY ,IDirect3DTexture8 *g_pTexture ,float PicScale ,
float Rotation ,float PicApperX ,float PicApperY ,
int WantRoatCenterX,int WantRoatCenterY)
{
TRect rect; //要裁減地幾張
rect.left =WhichonePicX*CutPicRangeX-CutPicRangeX;
rect.Top =WhichonePicY*CutPicRangeY-CutPicRangeY;
rect.Right =WhichonePicX*CutPicRangeX;
rect.Bottom=WhichonePicY*CutPicRangeY; D3DXVECTOR2 scaling; //調影像放大縮小
scaling.x=PicScale;
scaling.y=PicScale; D3DXVECTOR2 RotationCenter; //旋轉中心
if(WantRoatCenterX==0&&WantRoatCenterY==0)
{
RotationCenter.x=CutPicRangeX/2*PicScale;
RotationCenter.y=CutPicRangeY/2*PicScale;
}
else
{
RotationCenter.x=WantRoatCenterX;
RotationCenter.y=WantRoatCenterY;
} D3DXVECTOR2 appearsite; //出現位置
appearsite.x=PicApperX;
appearsite.y=PicApperY;
sPrite->Draw(g_pTexture,&rect,&scaling,&RotationCenter,Rotation,&appearsite,0xffffffff);
}
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |