使用 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-x
和 XCode
中(但我也不想在构建 android 版本时出现问题),但我不知道为什么它无法加载我的纹理。我的精灵是一个 .png 文件。
有人知道这可能是什么原因吗?
【问题讨论】:
您的资源目录中是否同时拥有.plist
和精灵表并包含在您的目标中?我不确定您使用的是什么格式,但我使用的是.pvr.ccz
@GameDeveloper 是的,这两个文件都在我的资源目录中。当我为模拟器构建时,我可以导航到 .app 文件并查看包中的所有内容,并且正确包含 .plist 和 .png。当你说包含在我的目标中时,你到底是什么意思?
您是否已在 XCode 项目中删除了 Derived Data
文件夹和/或尚未删除 clean
?
看起来有效。我已经清理了大约 10 次,甚至重新启动了 XCode,但这次它终于卡住了。谢谢!
当然。我为它创建了一个答案。
【参考方案1】:
在重建精灵表时,添加/更改资源应该删除Derived Data
文件夹,以确保 XCode 从零开始并拉入所有资源的新副本。
【讨论】:
以上是关于使用 TexturePacker 构建的 SpriteSheet 未在 CCSpriteFrameCache 中加载的主要内容,如果未能解决你的问题,请参考以下文章
How to get a TexturePacker license Key 怎样获得免费的 TexturePacker license Key