我正在使用以下代码加载精灵表:
[cache addSpriteFramesWithFile:[NSString stringWithUTF8String:plistPath] textureFilename:[NSString stringWithUTF8String:spritePath]];
然后我使用以下方式设置我的动画的当前帧:
[this->fSprite setDisplayFrame:[[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:[NSString stringWithUTF8String:fAnimFSM->GetCurrentImageSequence()->fImages[frame]]]];
出现正确的框架,但似乎正在渲染当前框架正上方框架的底部框架。正如您在下图所示,您可以看到我当前动画帧上方的1像素水平线。
plist看起来很完美,而且我的精灵表中有5个以上的动画,只有1个动画遇到这个问题。
这可能是什么?
提前致谢。
答案 0 :(得分:1)
在每个图像周围的纹理图集中留出2像素宽的空间。可以使用2像素宽边距配置(默认为)TexturePacker等工具。如果没有2像素的间隙,上述情况就不可避免了。