|
|
发表于 2006-9-27 16:36:00
|
显示全部楼层
Re:游戏中的图片怎么不能正常显示啊?
我也在学这本书,楼主如果你将那张图片改成35X那么大,我不知道还看得清楚什么。
图片改小之后将以下这段代码中的SCREEN_WIDTH换成现在图片的宽度,SCREEN_HEIGHT改成现在图片的高度,至少我没有出现过问题。
// test if memory is linear
if (ddsd.lPitch == SCREEN_WIDTH)
{
// copy memory from double buffer to primary buffer
memcpy((void *)primary_buffer, (void *)bitmap.buffer, SCREEN_WIDTH*SCREEN_HEIGHT);
} // end if
else
{ // non-linear
// make copy of source and destination addresses
UCHAR *dest_ptr = primary_buffer;
UCHAR *src_ptr = bitmap.buffer;
// memory is non-linear, copy line by line
for (int y=0; y < SCREEN_HEIGHT; y++)
{
// copy line
memcpy((void *)dest_ptr, (void *)src_ptr, SCREEN_WIDTH);
// advance pointers to next line
dest_ptr+=ddsd.lPitch;
src_ptr +=SCREEN_WIDTH;
} // end for
} // end else |
|