1

我认为升级到 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;
}

我怎样才能改变它以对已弃用的东西感到满意?

4

1 回答 1

2

好吧,我怀疑您收到有关某些方法已弃用的“警告”,因此您的代码可以正常工作。给你一些时间来获得一些 unnoobiness 并弄清楚。但是,只要进入一个“不推荐”的方法,你就会看到编码它的“正确”方法。例如(来自 CCDepredated.m),方法

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

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

如果你像我一样讨厌在编译时出现明显的警告,你最终会找到所有不推荐使用的调用实例并修复它们。

于 2013-08-04T18:34:09.653 回答