在创建cocos2d iOS游戏时,有几个选项可以添加spritesheets - CCTextureCache :: addImageAsync,CCSpriteFrameCache :: addSpriteFramesWithFile等 - 使用这些不同方法添加spritesheet之间的区别是什么?
同样,要加载精灵,我们可以调用CCSprite :: spriteWithSpriteFrameName或CCSprite :: spriteWithFile或CCSpriteBatchNode :: batchNodeWithTexture等。使用这些技术有什么区别?
由于
阿南德
答案 0 :(得分:2)
加载精灵帧,这也会加载纹理:
[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"file.plist"];
使用精灵帧:
CCSprite* sprite = [CCSprite spriteWithSpriteFrameName:@"frame.png"];
将精灵添加到批处理节点:
CCSpriteBatchNode* batchNode = [CCSpriteBatchNode batchNodeWithTexture:sprite.texture];
[batchNode addChild:sprite];
如果您使用精灵的相同图像文件,batchNodeWithFile也会起作用。如果用spriteframe初始化精灵,它将是纹理图集图像(即" file.png")。
仅当您想要在另一个线程上加载纹理时才需要添加addImageAsync,通常是为加载屏幕设置动画。您之后仍然需要添加精灵帧。
CCSprite spriteWithFile从单个图像文件创建一个sprite。这些也可以批处理,但使用带有精灵帧的纹理图集会更好。