Как добавить текст о движущихся спрайтах в Cocos2D? - PullRequest
2 голосов
/ 01 ноября 2011

Это моя первая игра в Cocos2D.Я использую Cocos2D 1.0.1.Я хочу добавить текст на движущихся спрайтах, которые должны быть выровнены по центру.Я взял CCLabelTTF с текстом на нем, но не могу выровнять его по центру.Вот что я сделал до сих пор: -

- (void) addTarget {

int enType= arc4random() % 11;

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

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

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

[target addChild:label z: 10];

// Создать действия

id actionMove = [CCMoveTo actionWithDuration:rangeDuration position:ccp(actualX,winSize.height+target.contentSize.height)];

[target runAction:[CCSequence actions:actionMove, nil]];

//[label setPosition:target.position];


// Add to targets array 

[targets addObject:target];

}

Где-то я читал, что добавление "[label setPosition: target.position];"в действии спрайта выровняется по центру, но напрасно.

Ответы [ 2 ]

3 голосов
/ 01 ноября 2011

Попробуйте вместо этого установить позицию этикетки:

label = [[CCLabelTTF alloc] initWithString:@"H!" dimensions:CGSizeMake([target contentSize].width, [target contentSize].height)  
                                 alignment:UITextAlignmentCenter fontName:@"verdana" fontSize:20.0f];
//LABEL POSITION HERE
label.position = ccp(0, 40);
 label.color = ccc3(60,60,60);

Возможно, вам придется играть со значениями позиции, пока вы не получите ее там, где вы хотите.

0 голосов
/ 01 ноября 2011

Вам не нужно менять положение метки, все размещено по центру изображения. Также с этим

[target addChild:label z: 10];

попробуйте установить для кнопки значение z: 11 и сохранить метку z: 10

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...