SKLabel节点定位未按预期工作



我正在开发一个游戏,我需要实现顶部栏,保存分数和其他东西等细节。

我的顶部栏应该有以下内容(从左到右): - 一个 50x50 的图标,根据级别而变化,但大小相同 - 带有一些根据级别变化的文本的标签 - ...其他元素

问题是当标签文本更改时,标签有时离图标

太远,有时在图标上方(取决于文本长度)

以为我理解定位,但显然我没有。

//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 = [[ 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);

感觉我在这里做错了什么。

任何帮助,不胜感激。

附言标签文本和图标图像根据级别更改-(void)update:(CFTimeInterval)currentTime {

尝试设置SKLabelNodehorizontalAlignmentMode

levelTextLabel.horizontalAlignmentMode = SKLabelHorizontalAlignmentModeLeft;

默认值为 SKLabelHorizontalAlignmentModeCenter

最新更新