2013-03-12 47 views
0

我期望以下代碼將標籤放置在屏幕的右上角。然而,x位置顯示在屏幕的右側,我必須手動移動它。這段代碼有什麼問題?對齊並定位CCLabelTTF

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不能正常工作。

+0

'horizo​​ntalAlignment'在其邊框的文本的對齊方式。如果你有多行文字,它纔有用。 – 2013-03-12 14:28:51

回答

0
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); 
+6

...或者anchorPoint 1,1 – LearnCocos2D 2013-03-12 01:41:53

+0

true ...甚至更通用:) – YvesLeBorg 2013-03-12 02:31:24

+0

我本來會期望設置right-align會自動將定位點設置爲1,1,但我估計不會。 – soleil 2013-03-12 03:25:14