Cocos2d iphone cocos2d-替换缓存的精灵图像

Cocos2d iphone cocos2d-替换缓存的精灵图像,cocos2d-iphone,Cocos2d Iphone,我是cocos2d的新手。我一直在学习一个教程,但当我更新了我用来拍摄火球的图像,从参考资料文件夹中删除并替换它时,图像不再渲染。替换图像时我必须做什么 在交换图像之前: CCSprite*Sprojection=[CCSprite spriteWithFile:@“sprojecte.png” rect:CGRectMake(0,0,20,20)] 交换图像后: CCSprite*sparket=[CCSprite spriteWithFile:@“Fireball.png”rect:CGRe

我是cocos2d的新手。我一直在学习一个教程,但当我更新了我用来拍摄火球的图像,从参考资料文件夹中删除并替换它时,图像不再渲染。替换图像时我必须做什么

在交换图像之前:

CCSprite*Sprojection=[CCSprite spriteWithFile:@“sprojecte.png” rect:CGRectMake(0,0,20,20)]

交换图像后:

CCSprite*sparket=[CCSprite spriteWithFile:@“Fireball.png”rect:CGRectMake(0,0,20,20)]

我是否需要以某种方式删除缓存并重新添加图像

编辑:

我在我的代码下面添加了这一行,它成功了:

[投射物设置结构:[[CCTextureCache sharedTextureCache] addImage:@“Fireball.png”]]


奇怪的是,我不得不添加一行新代码来替换图像。

我发现有时我需要清理和构建更新的纹理,以最终将其添加到应用程序包中。。。(我怀疑当我在应用程序运行时更改资源时会发生这种情况,但坦率地说,我已经浪费了太多时间进行调查)。现在,我在改变资源时,事实上进行了清理和构建


我不确定这是一个“cocos2d”讨论,而是一个Xcode讨论。cocos2d纹理缓存在应用程序执行期间完全在内存中构建。这是一种机制,1)有助于减小内存占用,2)还可以提高性能,因为如果不清除缓存,纹理文件只加载一次。另一方面,Xcode将所有文件的副本保存在多个位置。通过“清理”构建,您可以确保删除文件的早期版本以及所有当前资源(包括纹理)放置在适当的位置,以使开发环境正常工作。

我想知道cocos2d中是否有一种开发模式,它在进入生产模式之前会拾取任何图像精灵更改。