Cocos2d iphone cocos2dv3精灵动画问题
精灵动画问题 使用这个似乎适用于其他人的示例: 所以我这样做:Cocos2d iphone cocos2dv3精灵动画问题,cocos2d-iphone,ccsprite,Cocos2d Iphone,Ccsprite,精灵动画问题 使用这个似乎适用于其他人的示例: 所以我这样做: NSMutableArray *ballAnimFrames = [NSMutableArray array]; for(int i = 1; i <= 11; ++i) { [ballAnimFrames addObject:[[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName: [NSString stringWithFormat:@
NSMutableArray *ballAnimFrames = [NSMutableArray array];
for(int i = 1; i <= 11; ++i)
{
[ballAnimFrames addObject:[[CCSpriteFrameCache sharedSpriteFrameCache]
spriteFrameByName: [NSString stringWithFormat:@"discoball1200x2008c16-%d.png", i]]];
}
CCAnimation *ballAnim = [CCAnimation
animationWithSpriteFrames:ballAnimFrames delay:0.1f];
discoBallSprite = [CCSprite spriteWithImageNamed:@"discoball1200x2008c16-1.png"];
discoBallSprite.position = ccp(upper1Body.position.x,upper1Body.position.y-200);
CCActionAnimate *animationAction = [CCActionAnimate actionWithAnimation:ballAnim];
CCActionRepeatForever *repeatingAnimation = [CCActionRepeatForever actionWithAction:animationAction];
discoBallSprite.scaleX = 0.25;
discoBallSprite.scaleY = 0.25;
[discoBallSprite runAction:repeatingAnimation];
[self addChild:discoBallSprite z:10];
NSMutableArray*ballAnimFrames=[NSMutableArray];
对于(inti=1;i制作一张精灵表,将其添加到int中
[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"YourAnim.plist"];
现在在动画代码中
[ballAnimFrames addObject:[[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName: [YourAnim.png", i]]];
当你制作一张精灵图纸时,它会制作两件东西,1)带有精灵的png和2)带有坐标的plist
如果您决定使用我告诉过您的程序,请确保将其设置为cocos2d查看代码
现在Cocos2dV3的更改如下。
在链接代码中有CCAnimation
在V3中被CCActionAnimate
替换,并且CCRepeatForever
在V3中被CCActionRepeatForever
替换
另外,请检查.plist图像可能是10,尽管它在条件中得到了11图像。所以在数组中插入图像可能是您的问题
替换并尝试
for(int i = 1; i < 11; ++i)
{
// Code
}
for(int i=1;i<11;++i)
{
//代码
}
更改它可以正常工作。我刚刚在它填充数组之前添加了一个NSLog:NSLog(@“discoball1200x2008c16-%d.png:,1)代码>和调试吐出“discoball1200x2008c16-1.png”,这完全是我的第一个图像的文件名。这样做:[ballAnimFrames addObject:[[CCSpriteFrameCache sharedSpriteFrameCache]spriteFrameByName:[nsstringwithformat:@“discoball1200x2008c16-%d.png”,1]]代码>但仍然得到相同的错误,即insertObject为零?!?!?!在尝试填充有问题的数组之前,我尝试了在游戏的另一部分加载的图像(即,图像在游戏中显示良好)。在游戏的前半部分,图像显示得很好,但当我尝试将其放入数组时,图像声称为零。这似乎表明实际数组为零,但它的初始化方式看起来很好,是吗?是否将精灵表添加到场景中?我认为我不需要。正如我在评论中提到的那样,我尝试了各种各样的事情,但这似乎不太可能成为问题所在。我的假设完全错了吗?这也可以帮助你