|
|
发表于 2004-10-10 14:49:00
|
显示全部楼层
Re:关于游戏地图图块显示的问题(请高手赐教)
我也刚做了一个框架,只是人物的基本行走和碰撞检测,对于这个问题我也刚刚解决,我自己做了Blt,有点类似软件剪裁的方法:
BOOL Cgraph::Blt(LPDIRECTDRAWSURFACE7 DD,int x,int y,LPDIRECTDRAWSURFACE7 SS, RECT rcRect,BOOL flog)
{
DWORD flogs= (flog==FALSE)? DDBLTFAST_NOCOLORKEY DBLTFAST_SRCCOLORKEY;
if(x<0)
{
rcRect.left = rcRect.left - x;
x=0;
}
if(y<0)
{
rcRect.top = rcRect.top -y;
y=0;
}
if(x + rcRect.right - rcRect.left >ScreenX)
{
rcRect.right = rcRect.left + ScreenX - x;
}
if(y+ rcRect.bottom - rcRect.top >ScreenY)
{
rcRect.bottom = rcRect.top + ScreenY - y;
}
if(DD->BltFast(x,y,SS,&rcRect,flogs)!=DD_OK)
return TRUE;
else
return FALSE;
}
ScreenX,ScreenY是屏莫大小。 |
|