在屏幕上正确渲染 Tilemap
Rendering Tilemap on the screen correctly
我在正确渲染基于 tilemap 的关卡时遇到了一个奇怪的问题。
在 y 轴上,所有图块都是正常且对齐的,而在 x 轴上,它们似乎被 space 分开,我不明白为什么...
我创建了一个具有枚举值(从 0 到 2)的矩阵,并在 for 中循环我的矩阵
循环以使用当前编号渲染图块:
前任。接地 = 0;等...
这是它的外观照片
http://it.tinypic.com/r/ali261/8
这是方块的精灵图
http://it.tinypic.com/r/21kggw5/8
我将在此处添加代码。
for(int y = 0; y < 15; y++)
{
for(int x = 0; x < 20; x++)
{
if(map[y][x] == GROUND)
render(tileTex,x*64 - camera.x,y*64 - camera.y,&gTileSprite[0],0,NULL,SDL_FLIP_NONE);
else if(map[y][x] == UGROUND)
render(tileTex,x*64 - camera.x,y*64 - camera.y,&gTileSprite[1],0,NULL,SDL_FLIP_NONE);
else if(map[y][x] == SKY)
render(tileTex,x*64 - camera.x,y*64 - camera.y,&gTileSprite[2],0,NULL,SDL_FLIP_NONE);
tBox[y][x].x = x*64;
tBox[y][x].y = y*64;
tBox[y][x].w = TILE_WIDTH;
tBox[y][x].h = TILE_HEIGHT;
}
}
除了上面的评论之外,必须小心避免瓷砖边缘出现任何模糊,因为与单独查看相比,它们的重复会使任何缺陷更加明显。
在将部分图块地图绘制到 final/intermediate 目标的过程中可能会引入模糊,或者在这种情况下(并且已经确认),源 material 可能已经模糊边缘。
尤其是在处理像素尺寸如此“低”的图像时,必须保持警惕并确保 any/all 调整大小操作是在图像编辑器中执行的,无需重新采样。
虽然 bilinear/cubic 将组合图像 blit 到屏幕时可能需要重新采样,但从不 不希望对源进行这种重新采样material.
我在正确渲染基于 tilemap 的关卡时遇到了一个奇怪的问题。 在 y 轴上,所有图块都是正常且对齐的,而在 x 轴上,它们似乎被 space 分开,我不明白为什么...
我创建了一个具有枚举值(从 0 到 2)的矩阵,并在 for 中循环我的矩阵 循环以使用当前编号渲染图块: 前任。接地 = 0;等...
这是它的外观照片 http://it.tinypic.com/r/ali261/8
这是方块的精灵图 http://it.tinypic.com/r/21kggw5/8
我将在此处添加代码。
for(int y = 0; y < 15; y++)
{
for(int x = 0; x < 20; x++)
{
if(map[y][x] == GROUND)
render(tileTex,x*64 - camera.x,y*64 - camera.y,&gTileSprite[0],0,NULL,SDL_FLIP_NONE);
else if(map[y][x] == UGROUND)
render(tileTex,x*64 - camera.x,y*64 - camera.y,&gTileSprite[1],0,NULL,SDL_FLIP_NONE);
else if(map[y][x] == SKY)
render(tileTex,x*64 - camera.x,y*64 - camera.y,&gTileSprite[2],0,NULL,SDL_FLIP_NONE);
tBox[y][x].x = x*64;
tBox[y][x].y = y*64;
tBox[y][x].w = TILE_WIDTH;
tBox[y][x].h = TILE_HEIGHT;
}
}
除了上面的评论之外,必须小心避免瓷砖边缘出现任何模糊,因为与单独查看相比,它们的重复会使任何缺陷更加明显。
在将部分图块地图绘制到 final/intermediate 目标的过程中可能会引入模糊,或者在这种情况下(并且已经确认),源 material 可能已经模糊边缘。
尤其是在处理像素尺寸如此“低”的图像时,必须保持警惕并确保 any/all 调整大小操作是在图像编辑器中执行的,无需重新采样。
虽然 bilinear/cubic 将组合图像 blit 到屏幕时可能需要重新采样,但从不 不希望对源进行这种重新采样material.