浏览教程和CCSpriteFrame
文档CCSpriteFrameCache
,看起来我需要一个 plist,就像使用 TexturePacker 生成的一样。
有没有办法将单个图像添加到缓存中?
或者一种CCSpriteFrame
用图像创建的方法?看起来 1.0.0 版本支持它,但 2.0.0 不支持
谢谢!
浏览教程和CCSpriteFrame
文档CCSpriteFrameCache
,看起来我需要一个 plist,就像使用 TexturePacker 生成的一样。
有没有办法将单个图像添加到缓存中?
或者一种CCSpriteFrame
用图像创建的方法?看起来 1.0.0 版本支持它,但 2.0.0 不支持
谢谢!
简而言之:是的,您可以这样做。但是您不想这样做,因为它不切实际并且浪费时间。spriteframes 的重点是在纹理图集中定义纹理区域。否则只需使用 spriteWithFile 。但这在性能方面并不能很好地扩展。
迟早你将不得不开始使用纹理图集,并为此使用一个好的工具(TexturePacker 是我最喜欢的)。
如果您需要精灵表方面的帮助,您可以查看本教程
他向您展示了如何使用texture packer
熊并为其制作完整的动画。纹理打包器会自动为您制作 .plist。这很酷。但是,您不需要使用精灵表。我认为,您可以将图像添加到数组中,然后将数组中的图像序列作为动画播放。该教程在这里
此外,CCSpriteFrameCache 所做的只是缓存精灵帧。您可以使用 .plist 文件加载带有帧的 CCSpriteFrameCache,也可以使用 CCSpriteFrame 和精灵帧名称将其加载到其中。看看这个 cocos2d 论坛:这里
祝你好运=-)
你不需要纹理打包器来创建一个 .plist ... vi 如果你有胃口就可以了。但是,您可以:
CGRect myRect = CGRectMake(0, 0, 80, 40);
CCTexture2D *myTexture = [[CCTextureCache sharedTextureCache] addImage:@"myTexture.pvr.gz"];
CCSpriteFrame *fr=[CCSpriteFrame frameWithTexture:myTexture rect:myRect];
[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFrame:fr name:@"myFunkyFrameName"];
编。未经测试,但使用 2.0 可以正常编译,应该可以。