0

浏览教程和CCSpriteFrame文档CCSpriteFrameCache,看起来我需要一个 plist,就像使用 TexturePacker 生成的一样。

有没有办法将单个图像添加到缓存中?

或者一种CCSpriteFrame用图像创建的方法?看起来 1.0.0 版本支持它,但 2.0.0 不支持

谢谢!

4

3 回答 3

2

简而言之:是的,您可以这样做。但是您不想这样做,因为它不切实际并且浪费时间。spriteframes 的重点是在纹理图集中定义纹理区域。否则只需使用 spriteWithFile 。但这在性能方面并不能很好地扩展。

迟早你将不得不开始使用纹理图集,并为此使用一个好的工具(TexturePacker 是我最喜欢的)。

于 2013-05-23T06:19:24.240 回答
1

如果您需要精灵表方面的帮助,您可以查看本教程 他向您展示了如何使用texture packer熊并为其制作完整的动画。纹理打包器会自动为您制作 .plist。这很酷。但是,您不需要使用精灵表。我认为,您可以将图像添加到数组中,然后将数组中的图像序列作为动画播放。该教程在这里 此外,CCSpriteFrameCache 所做的只是缓存精灵帧。您可以使用 .plist 文件加载带有帧的 CCSpriteFrameCache,也可以使用 CCSpriteFrame 和精灵帧名称将其加载到其中。看看这个 cocos2d 论坛:这里

祝你好运=-)

于 2013-05-23T02:07:37.057 回答
0

你不需要纹理打包器来创建一个 .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 可以正常编译,应该可以。

于 2013-05-23T00:36:07.770 回答