texture packer OpenGL 滚动地图精灵 黑边 缝隙 解决方法
texture packer OpenGL 滚动地图精灵 黑边 缝隙 解决方法
1.TexturePacker里有一个选项:Extrude,会自动添加1PX的边框 进行设置;简单方便。
2.人工计算位置,在更新位置的方法里减去多余的1像素坐标值。
推荐方法1
现在让我们来看一下texturepacker软件左边的一些选项。通过这些选项,你能够配置spritesheet的大小、布局和输出格式。首先,让我们来快速浏览一遍控制大小和布局的选项:
- Autosize(默认) – 这个选项会为你的spritesheet挑选最小的2的指数倍的大小。这是一个非常方便的特性,因为它可以省去你自己去计算spritesheet大小的时间。
- Min/max size 让你为你的spritesheet指定一个最大值。如果你想设置特定大小的spritesheet的时候,这也是一个非常方便的特性。(因为对于特定的设备来说,你可不想超过设备能够支持的最大限制,比如2代touch最大支持texture大小为1024*1024)
- Scale 让 你可以保存一个比原始图片尺寸要大一点、或者小一点的spritesheet。比如,如果你想在spritesheet中加载“@2x”的图片(也即为 Retina-display设备或者ipad创建的)。但是你同时也想为不支持高清显示的iphone和touch制作spritesheet,这时候 只需要设置scale为 1.0,同时勾选autoSD就可以了。也就是说,只需要美工提供高清显示的图片,用这个软件可以自己为你生成高清和普清的图片。
- Algorithm 里面目前唯一支持的算法就是MaxRects,即按精灵尺寸大小排列,但是这个算法效果非常好,因此你不用管它。
-
Border/shape padding 即在spritesheet里面,设置精灵与精灵之间的间隔。如果你在你的游戏当中看到精灵的旁边有一些“杂图”的时候,你就可以增加这个精灵之间的间隔。
Extrude 精灵边界的重复像素个数. 这个与间隔是相对应的–如果你在你的精灵的边边上看到一些透明的小点点,你就可以通过把这个值设设置大一点。 - Extrude This repeats the pixels around the borders of sprites. This is the opposite of adding padding – if you see transparent “gaps” around the edges of your sprites, you may wish to set this to a higher value.
- Trim 通 过移除精灵四周的透明区域使之更好地放在spritesheet中去。不要担心,这些透明的区域仅仅是为了使spritesheet里面的精灵紧凑一点。 –当你从cocos2d里面去读取这些精灵的时候,这些透明区域仍然在寻里。(因为,有些情况下,你可能需要这些信息来确定精灵的位置)
- Shape outlines 把这个选项打开,那么就能看到精灵的边边。这在调试的时候非常有用。
对于spritesheet来说,上面提到的各个选项的默认值,你一个也不需要改变–因为它们本来就已经很好了。然后,在输出部分,你需要改变一些设置。但是在讲到那个之前,让我们先谈一谈cocos2d中的像素格式。
转自
http://blog.csdn.net/ecaifu800/article/details/12583209