2014-02-28 1 views
3

저는 게임을하고 있는데, 점수와 다른 것들과 같은 세부 정보를 가지고있는 톱 바를 구현해야합니다.SKLabelNode 포지셔닝이 예상대로 작동하지 않습니다.

내 상단 바는 (왼쪽에서 오른쪽으로) 다음이 있어야합니다 - 수준에 따라 변경되는 50 × 50 아이콘을하지만 같은 크기 이다 - 수준 에 따라 변경하는 일부 텍스트 레이블 - ... 레이블 텍스트 변경, 레이블이 때로는 너무 멀리 아이콘과 다른 시간으로부터 아이콘 위에있을 때 다른 요소

문제는 내가 위치를 이해 생각

(텍스트 길이에 따라), 그러나 것을 분명히 나는하지 않았다.

//create array for level text label 
levelTextArray = [[NSArray alloc] initWithObjects:@"\"Uuu! Bubbles!\"",@"\"Noob\"",@"\"I’m getting it..\"",@"\"This is easy\"",@"\"Wha?\"",@"\"It’s ooon now!\"",@"\"Come on..\"",@"\"Dude…\"",@"\"You’re pushing it..\"",@"\"I’ll show you!!\"",@"\"AAAAAAA!!!\"",@"\"Holy Bubbles… \"",@"\"Ninja mode on!\"",@"\"I’m on fire!!\"",@"\"The wheel's spinning, but the hamsters dead. \"", nil]; 

//add level text label 
levelTextLabel = [[SKLabelNode alloc] init]; 
levelTextLabel.text = levelTextArray[0]; 
levelTextLabel.position = CGPointMake(60, CGRectGetMidY(scoreImage.frame)+5); 

levelTextLabel.fontColor = [UIColor colorWithRed:0/255.0f green:1/255.0f blue:0/255.0f alpha:1.0f]; 
levelTextLabel.fontName = @"Noteworthy-Light"; 
levelTextLabel.fontSize = 14.0; 
[self addChild:levelTextLabel]; 

scoreImage는이 경우 아이콘입니다. 또한 .. 이미지가보기에 완전히 나타나려면 다음과 같이 위치를 지정하십시오.

scoreImage = [[ SKSpriteNode alloc] initWithImageNamed:levelText]; 
    scoreImage.name = @"LevelImage"; 
    scoreImage.size = CGSizeMake(50, 50); 
    scoreImage.position = CGPointMake(0+scoreImage.size.width/2, CGRectGetMaxY(self.frame)-scoreImage.size.height/2); 

나는 여기 뭔가 잘못하고 있다는 느낌이 들었습니다.

도움을 주시면 감사하겠습니다.

P. 레이블 텍스트뿐만 아니라 아이콘 이미지는 SKLabelNodehorizontalAlignmentMode 설정 -(void)update:(CFTimeInterval)currentTime {

답변

6

시도의 수준에 따라 변경 :

levelTextLabel.horizontalAlignmentMode = SKLabelHorizontalAlignmentModeLeft; 

기본값은 SKLabelHorizontalAlignmentModeCenter입니다.

관련 문제