【问题标题】:Cocos2d Sprite Sheet isn't loading correctly for certain frames?Cocos2d Sprite Sheet 没有正确加载某些帧?
【发布时间】:2014-03-08 08:41:33
【问题描述】:

我正在使用以下代码加载精灵表:

[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 个动画存在这个问题。

这可能是什么?

提前致谢。

【问题讨论】:

  • 如何创建精灵帧/纹理图集?大多数工具默认任何两个图像之间的距离为 2 像素,以防止出现这种确切的问题。
  • @LearnCocos2D 我正在等待我的图形团队为我更新此内容。一旦我知道我会回来告诉你。他们目前正在度假。
  • @LearnCocos2D 请添加您的评论作为解决方案,以便我接受。谢谢。

标签: iphone cocos2d-iphone sprite-sheet


【解决方案1】:

在每个图像周围的纹理图集中留出 2 像素宽的空间。可以使用 2 像素宽边距配置(并且默认为)TexturePacker 等工具。如果没有像上面这样的 2 像素间隙故障是不可避免的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-11-19
    • 2013-11-16
    • 2012-11-02
    • 2011-05-06
    • 1970-01-01
    • 1970-01-01
    • 2014-01-16
    • 2019-01-05
    相关资源
    最近更新 更多