一个标签有四个不同的verticalAlignmentMode:.Baseline,.Bottom,.Center和.Top.我希望标签根据其基线以其位置为中心。.Center对我不起作用,因为框架的底部不是文本的基线,而是最低字母的底部(例如“y”)。我也尝试过使用.Baseline并从y位置减去框架高度的一半,但这也不起作用,导致与.Center相同的问题.我试图居中的标签中的文本是“播放!”。将模式设置为“.Center”会使文本略高于我想要的高度,这一点非常明显。将文本更改为“Pla!”解决了这个问题,因为'y'被删除并且没有字符卡在基线以下(虽然我显然不能这样做作为解决方案)
我基本上想在Singles中添加自定义字体编号(带有图像),并在我使用SpriteKit的游戏中将它们添加到我的分数中。这是字体图片样式它们是从0到9的数字一段时间以来,我一直在努力解决这个问题。我不确定您是否可以将它添加到SKLabelNode,或者您是否必须将它添加到一个类中。 最佳答案 SKLabelNode不允许位图字体。如果您的自定义字体是TTF,您将能够将自定义字体与SKLabelNode一起使用。这里有一个解释:SKlabelNodecustomfont在你的情况下,因为你想使用位图字体,你需要创建一个类来做到这一点。
我有一组SKLabelNodes。每个节点代表一个单词的一个字母。每个节点都是SKSpriteNode的子节点。spriteNode有一个显式设置的高度([textsizeWithAttributes:@{NSFontAttributeName:font}];返回的高度),并且具有与标签节点。然后labelNode位于spriteNode的中心,并且具有verticalAlignmentMode=SKLabelVerticalAlignmentModeBaseline。在稍后阶段,我需要为每个字母设置背景图像(这将使用spriteNode完成)。出于测试目的,我使用纯色,使问题明显:如
网上找不到,如何让SKLabelNode裁剪SKShapeNode。当我给背景上色时,我的目标是用同样的方法给标签上色,所以它们必须同时上色。但是无法想象如何用这个标签裁剪SKShapeNode。请帮助我! 最佳答案 Butcan'timaginehowtocropSKShapeNodewiththislabel.如果我没理解错的话,你可以将SKLabelNode设置为SKCropNode的掩码,如下所示:overridefuncdidMoveToView(view:SKView){backgroundColor=.blackCol
我不是这个意思:Label.horizontalAlignmentMode=SKLabelNodeHorizontalAlignmentModeCenter或者Label.verticalAlignmentMode= 最佳答案 SKLabelNodes是简单的、几乎不可编辑的文本到位图的非常原始的渲染,并在屏幕上显示出来。它们不是为了解决大的设计问题....所以它们对它们的“框架”没有任何意识。话虽如此...它们是SKNode的子类,它有一个frame属性,但这与您对设计应用程序或页面编写应用程序或其他任何内容中的框架的看法
我在我的游戏中添加了一个老式的高分输入屏幕,用户可以在其中点击每个字母来输入他们的名字。每个字母、符号或短语('DEL'、'SP'等)都是一个SKLabelNode并且很难点击','和'.'。字符和一些符号。通过通常的touchesBegan检测每次点击为了让延迟更容易,我计划在每个字母后面放置一个更大的节点并更新touchesBegan以检测标签本身或其他标签上的触摸,在这种情况下只需使用子节点触摸(将是字母或短语)。在我这样做之前,我想知道是否有一种简单的方法来实现我想要的,可以通过检测最近的SKLabelNode来实现。 最佳答案
我想为Label文本的外观设置动画,使其看起来像是正在输入。我想知道在SWIFT中是否有一种相对简单的方法来做到这一点。谢谢。 最佳答案 试试这个:classGameScene:SKScene{lettext=["G","a","m","e"]varlabelText=""letlabelNode=SKLabelNode()varcalls:Int=0vartimer:NSTimer!overridefuncdidMoveToView(view:SKView){timer=NSTimer.scheduledTimerWithTime
我正在开发一款小型SpriteKit游戏。我想在主屏幕上有一个“提示”部分,每次显示不同的提示。我有一个可行的方法,它是我自己编写的,但它很困惑,我确信有更好的方法可以完成。我希望有人可以向我展示我可能错过(或绕过很长一段路)的方法。我目前是这样做的:funccreateTipsLabels(){//createSKLabelNodes//addpropertiestoLabels//tip1Label...etc//tip2Label...etc//tip3Label...etc//nowanimate(orpulse)intipslabel,oneatatime...lettSeq
我有以下代码,它似乎没有将scoreLabelNode的文本颜色设置为红色。funcsetUpScore()->Void{scoreLabelNode=SKLabelNode(fontNamed:"MarkerFelt-Wide")scoreLabelNode.color=UIColor(red:CGFloat(1.0),green:CGFloat(0.0),blue:CGFloat(0.0),alpha:CGFloat(1.0))//HowdoIsetthistored?scoreLabelNode.position=CGPointMake(CGRectGetMidX(self.fr
我编写了一个名为updateLabel的函数来计算我收集的硬币随着时间的推移。我使用NSTimer调用该函数以获得计数效果。使用iOS8一切都很好,但是一旦我使用iOS7.1调用该函数,我的标签就会变成空白...如果我打印出Label.text,我会得到正确的数字,但它只是不显示。即使是声音“coinSound”也能正常工作。scoreLabel=SKLabelNode()scoreLabel.text="0"self.addChild(scoreLabel)//showsupandworkswith"0"self.timer=NSTimer.scheduledTimerWithTim