Правильно выровняйте и поместите 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);