objective-c - cocos2d 改变 Sprite 纹理

标签 objective-c cocos2d-iphone cctexturecache

我想用 Sprite 表中的另一个纹理更改 Sprite 纹理

//normal sprite
character = [CCSprite spriteWithSpriteFrameName:@"char1.png"];

//change texture
[character setTexture:[[CCTextureCache sharedTextureCache] addImage:[CCSprite spriteWithSpriteFrameName:@"char2.png"]]];

但这给了我一个错误。我尝试过不使用 spriteWithSpriteFrameName ,它给了我一个 空白纹理。

//error
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[CCSprite lastPathComponent]: unrecognized selector sent to instance 0xab32580'

请帮我解决这个问题

最佳答案

尝试在CCSprite上设置displayFrame,例如,

[character setDisplayFrame:[[CCSpriteFrameCache sharedSpriteFrameCache] 
                        spriteFrameByName:@"char2.png"];

关于objective-c - cocos2d 改变 Sprite 纹理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15545979/

相关文章:

ios - 检查 `UICollectionView` 索引路径是否有效?

objective-c - 如何在 iOS7 中更改 UISearchBar 的背景颜色

ios - 使用以相同的方法以编程方式创建的 UIButtons 加载不同的 UIViewControllers

cocos2d-iphone - iOS 8 autorotate 将图像旋转出屏幕

image - Cocos2d。正确加载和存储图像?

objective-c - Cocoa (Mac Os X) 打印多页,为什么预览窗口显示 2 页而不是 1 页?

ios - 当用户在横向模式下翻转 iDevice 时,如何保持 rollY 一致?

iphone - 为什么我的 cocos2d box2d 项目中的第二个球没有弹跳?

ios - Cocos2d 2.0:什么时候“清除”缓存的好习惯?