Iphone 如何为cocos2D中的标签项提供阴影效果?

Iphone 如何为cocos2D中的标签项提供阴影效果?,iphone,objective-c,cocos2d-iphone,Iphone,Objective C,Cocos2d Iphone,我在游戏中有移动的精灵,并在其上添加了标签(CCLabelTTF)。标签上有A、B、C等字符。我想给标签的内容添加阴影效果,使其正确可见 在我的.h文件中 CCLabelTTF*标签 在.m中,我设置了它的位置和颜色。“目标”是有标签的精灵 target=[CCSprite spriteWithFile:[NSString stringWithFormat:@"balloon%d.png",enType] rect:CGRectMake(0, 0, 100, 119)]; label

我在游戏中有移动的精灵,并在其上添加了标签(CCLabelTTF)。标签上有A、B、C等字符。我想给标签的内容添加阴影效果,使其正确可见

在我的.h文件中

CCLabelTTF*标签

在.m中,我设置了它的位置和颜色。“目标”是有标签的精灵

    target=[CCSprite spriteWithFile:[NSString stringWithFormat:@"balloon%d.png",enType] rect:CGRectMake(0, 0, 100, 119)];

label = [[CCLabelTTF alloc] initWithString:alphabetValue dimensions:CGSizeMake([target contentSize].width, [target contentSize].height)  
                                     alignment:UITextAlignmentCenter fontName:@"verdana" fontSize:30.0f];

    //LABEL POSITION HERE
    label.position = ccp(55,30);

    label.color = ccc3(60,60,60);

    [target addChild:label z: 10];

现在我想给一个阴影效果…我怎么做呢?

添加两次相同的标签,一次稍微大一点。应首先创建阴影标签,使其显示在实际标签后面,或使用z特性

CGSize size = CGSizeMake([target contentSize].width, [target contentSize].height);
labelShadow = [[CCLabelTTF alloc] initWithString:alphabetValue 
                                dimensions:size  
                                 alignment:UITextAlignmentCenter
                                  fontName:@"verdana" fontSize:30.0f];
labelShadow.position = ccp(55+2,30+2); // slightly offset
labelShadow.color = ccc3(10,10,10);
[target addChild:labelShadow z:10];

label = [[CCLabelTTF alloc] initWithString:alphabetValue 
                                dimensions:size  
                                 alignment:UITextAlignmentCenter
                                  fontName:@"verdana" fontSize:30.0f];
label.position = ccp(55,30);
label.color = ccc3(60,60,60);
[target addChild:label z:10];
您还可以尝试稍微向上缩放labelShadow,或增大其字体大小


注意:它不会产生柔和(模糊)的阴影。为此,您可以使用。

将同一标签添加两次,一次稍微大一点。应首先创建阴影标签,使其显示在实际标签后面,或使用z特性

CGSize size = CGSizeMake([target contentSize].width, [target contentSize].height);
labelShadow = [[CCLabelTTF alloc] initWithString:alphabetValue 
                                dimensions:size  
                                 alignment:UITextAlignmentCenter
                                  fontName:@"verdana" fontSize:30.0f];
labelShadow.position = ccp(55+2,30+2); // slightly offset
labelShadow.color = ccc3(10,10,10);
[target addChild:labelShadow z:10];

label = [[CCLabelTTF alloc] initWithString:alphabetValue 
                                dimensions:size  
                                 alignment:UITextAlignmentCenter
                                  fontName:@"verdana" fontSize:30.0f];
label.position = ccp(55,30);
label.color = ccc3(60,60,60);
[target addChild:label z:10];
您还可以尝试稍微向上缩放labelShadow,或增大其字体大小

注意:它不会产生柔和(模糊)的阴影。因此,你可以使用