使用 TexturePacker 构建的 SpriteSheet 未在 CCSpriteFrameCache 中加载

Posted

技术标签:

【中文标题】使用 TexturePacker 构建的 SpriteSheet 未在 CCSpriteFrameCache 中加载【英文标题】:SpriteSheet built with TexturePacker not loading in CCSpriteFrameCache 【发布时间】:2014-07-09 06:27:42 【问题描述】:

我使用 TexturePacker 构建了一个 Sprite Sheet,然后将其加载到我的应用程序中:

CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile( "animation_s4.plist" );

但是,当我这样做时,我收到以下错误:

Cocos2d: cocos2d: CCSpriteFrameCache: Trying to use file animation_s4.png as texture
Cocos2d: cocos2d: CCSpriteFrameCache: Couldn't load texture

这是在 Cocos2d-xXCode 中(但我也不想在构建 android 版本时出现问题),但我不知道为什么它无法加载我的纹理。我的精灵是一个 .png 文件。

有人知道这可能是什么原因吗?

【问题讨论】:

您的资源目录中是否同时拥有.plist 和精灵表并包含在您的目标中?我不确定您使用的是什么格式,但我使用的是.pvr.ccz @GameDeveloper 是的,这两个文件都在我的资源目录中。当我为模拟器构建时,我可以导航到 .app 文件并查看包中的所有内容,并且正确包含 .plist 和 .png。当你说包含在我的目标中时,你到底是什么意思? 您是否已在 XCode 项目中删除了 Derived Data 文件夹和/或尚未删除 clean 看起来有效。我已经清理了大约 10 次,甚至重新启动了 XCode,但这次它终于卡住了。谢谢! 当然。我为它创建了一个答案。 【参考方案1】:

在重建精灵表时,添加/更改资源应该删除Derived Data 文件夹,以确保 XCode 从零开始并拉入所有资源的新副本。

【讨论】:

以上是关于使用 TexturePacker 构建的 SpriteSheet 未在 CCSpriteFrameCache 中加载的主要内容,如果未能解决你的问题,请参考以下文章

教你使用TexturePacker工具对素材打包

怎么用texturepacker做成plist

(转)教你使用TexturePacker工具对素材打包

COCOS学习笔记--TexturePacker使用详解

How to get a TexturePacker license Key 怎样获得免费的 TexturePacker license Key

TexturePacker 图集生成工具