Cocos2D V3.0崩溃CCLabelTTF

时间:2014-05-24 18:43:04

标签: cocos2d-iphone cclabelttf

我正在将我的项目从使用Cocos2D v2.1转换为V3.0。这是一个UIKit项目,Cocos2D被添加为子项目,导演懒洋洋地加载到几个视图控制器中。

我设法摆脱了所有的编译器警告,它运行正常,似乎加载导演很好,但随后崩溃如下:

-[NSConcreteMutableAttributedString hasAttribute:]: unrecognized selector sent to instance 0xc4f8ff0
 *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSConcreteMutableAttributedString hasAttribute:]: unrecognized selector sent to instance 0xc4f8ff0'
*** First throw call stack:
(
    0   CoreFoundation                      0x0291a1e4 __exceptionPreprocess + 180
    1   libobjc.A.dylib                     0x026998e5 objc_exception_throw + 44
    2   CoreFoundation                      0x029b7243 -[NSObject(NSObject) doesNotRecognizeSelector:] + 275
    3   CoreFoundation                      0x0290a50b ___forwarding___ + 1019
    4   CoreFoundation                      0x0290a0ee _CF_forwarding_prep_0 + 14
    5                       0x0019d7d0 -[CCLabelTTF updateTexture] + 544
    6                        0x0019d546 -[CCLabelTTF visit] + 70
    7                       0x00181c86 -[CCNode visit] + 566
    8                        0x00181c86 -[CCNode visit] + 566
    9                       0x00202b9d -[CCDirectorIOS drawScene] + 381
    10                       0x00203fdc -[CCDirectorDisplayLink mainLoop:] + 92

断点在CCLabelTTF函数- (BOOL) updateTexture

处停止
#ifdef __CC_PLATFORM_IOS

    // Font color
    if (![formattedAttributedString hasAttribute:NSForegroundColorAttributeName])

代码中只有一个CCLabelTTF,我这样创建它:

self.scoreLabel = [CCLabelTTF labelWithString:NSLocalizedString(@"Score", @"") fontName:@"Marker Felt" fontSize:20 dimensions:CGSizeMake(100, 50)];
self.scoreLabel.horizontalAlignment = (CCTextAlignment)NSTextAlignmentRight;
scoreLabel.position = ccp(250,70);
[self addChild:scoreLabel z:1];

任何帮助非常感谢。我在Cocos2D论坛和这里搜索过,找不到类似这个问题的东西。

1 个答案:

答案 0 :(得分:0)

啊......刚刚解决了。由于Cocos2d是一个子项目,我必须在-ObjC下包含Other Linker Flags标志作为目标。对于v2.1,这不是必需的,但那个版本没有使用NSAttributedString+CCAdditions类别。