Cocos2D弃用了动画方法

时间:2013-08-04 18:15:24

标签: iphone ios objective-c cocos2d-iphone

我认为升级到XCODE5和Cocos2D 2.x是合适的,但我的代码不同意。我设法找到了大部分其他代码的修复程序,但我似乎无法解决这个问题。

    - (CCAnimation *)createCatAnimation:(NSString *)animType
{
    CCAnimation *animation = [CCAnimation animation];
    for(int i = 1; i <= 2; ++i) {
        [animation addFrame:[[CCSpriteFrameCache sharedSpriteFrameCache] //addFrame: is deprecated 
spriteFrameByName:
                             [NSString stringWithFormat:@"cat_%@_%d.png", animType, i]]];
    }
    animation.delay = 0.2; //.delay is deprecated
    return animation;
}

如何更改此内容以满意弃用的内容?

1 个答案:

答案 0 :(得分:2)

好吧,我怀疑你对某些方法的弃用有'警告',所以你的代码可以运行。给你一些时间来获得一些不高兴的想法并弄明白。但是,只需进入“已弃用”的方法,您就会看到“正确”的方式对其进行编码。例如(来自CCDepredated.m),方法

-(void) addFrameWithTexture:(CCTexture2D*)texture rect:(CGRect)rect
{
    [self addSpriteFrameWithTexture:texture rect:rect];
}

顶行是不推荐使用的语法。您收到使用它的警告。但是,在运行时,将调用顶行并在此时调用RIGHT方法(包含在方法实现中)。所以你得到警告,但仍然有效。因此,要摆脱警告,只需找到已弃用签名的所有实例(第一行),并用新语法替换(在花括号之间)。

如果像我一样你厌恶编译时出现未完成的警告,你最终会找到所有已弃用的调用实例并修复它们。