Objective c 目的-C/Cocos2D-具有优先顺序的cAnimate作用-Don和#xB4;“我不明白”;a00%02d.png“;

Objective c 目的-C/Cocos2D-具有优先顺序的cAnimate作用-Don和#xB4;“我不明白”;a00%02d.png“;,objective-c,cocos2d-iphone,Objective C,Cocos2d Iphone,有人能帮我弄一下plist和plist吗 [CCAnimate actionWithSpriteSequence:@"a00%02d.png" numFrames:10] 我有一个plist,为我的角色提供了3种不同的动画 first Animation: a0001.png - a0010.png, second Animation: a0011.png - a0020.png, third Animation: a0021.png - a0030.png

有人能帮我弄一下plist和plist吗

[CCAnimate actionWithSpriteSequence:@"a00%02d.png" numFrames:10]
我有一个plist,为我的角色提供了3种不同的动画

     first Animation: a0001.png - a0010.png,
     second Animation: a0011.png - a0020.png,
     third Animation: a0021.png - a0030.png  
现在我想展示第二个动画

对于第一个动画,它可以工作

但是我不理解@“a00%02d.png”的行为

我看了论坛,但他们只做一个动画。所以他们不必更改@“a00%02d.png”

这样做有可能吗


如果有人能告诉我那就太好了

这是您遇到的
NSString
格式问题:

%02d
表示2位整数,因此您输入的任何数字(即4)都将被写入两个字符的字符串(即04),而不仅仅是“4”

因此,
[nsstringwithformat:@“a00%02d.png”,5]
变成了a005.png

[NSString stringWithFormat:@“a00%02d.png”,21]
变为a0021.png

[NSString stringWithFormat:@“a00%02d.png”,196]
变成a0096.png(这是错误的!)

因此最好的方法就是使用:


[nsstringwithformat:@“a%04d.png”,196]
变成a0196.png

我想你缺少的是,在这种情况下,你永远不必更改格式字符串,只需更改你传入的图像编号。顺便说一句,它相当于更灵活的格式@“a%04d.png”。我建议用这个代替。这一条甚至适用于大于99的数字。感谢@HermannKlecker,更新以反映这一非常好的观点。有没有可能您可以连续命名图像(a1.png、a2.png等)?因为这使得格式字符串简单得多:@“a%d.png”。自从操作系统将自然排序添加到文件系统查看器中(就像10年前一样),在编号文件前面加上前导0就变得完全没有必要了。