Правильно выровняйте и поместите CCLabelTTF

Я ожидаю, что следующий код поместит метку в верхнем правом углу экрана. Тем не менее, положение x отображается справа от экрана, и я должен вручную переместить его. Что не так с этим кодом?

CGSize winSize = [[CCDirector sharedDirector] winSize];

self.screenTop = winSize.height;
self.screenRight = winSize.width;
self.screenBottom = 0;
self.screenLeft = 0;


self.scoreLabel = [CCLabelTTF labelWithString:@"000000" dimensions:CGSizeMake(200,30) hAlignment:kCCTextAlignmentRight fontName:@"Helvetica" fontSize:24];
self.scoreLabel.position = ccp(self.screenRight - 20, self.screenTop - 20);
[self addChild:self.scoreLabel z:1];

Положение зарегистрировано правильно как {548, 300} (iPhone5). Похоже, что hAlignment:kCCTextAlignmentRight не работает правильно.

1 ответ

Решение
self.scoreLabel.position = ccp(self.screenRight - 100, self.screenTop - 20);

более обобщенно:

self.scoreLabel.position = ccp(self.screenRight - self.scoreLabel.contenSize.width/2,
self.screenTop - self.scoreLabel.contenSize.height/2);
Другие вопросы по тегам