缩放SKSpriteNode而不缩放其子项

时间:2014-09-13 02:32:48

标签: sprite-kit skspritenode sklabelnode

我正在尝试以编程方式创建按钮。我已经将SKSpriteNode子类化,其中一个孩子是SKLabelNode。我这样做的原因是标签和按钮一起移动并且是一个单元。问题是,当我缩放按钮时,标签也会缩放,并且会使文本扭曲,使其看起来像素化(非常可怕)。有没有办法,即使我必须重写整个东西,这样我才能只按比例缩放按钮?

2 个答案:

答案 0 :(得分:3)

我在发布这个问题前大约一个小时找了这个答案,然后第二个我发布问题我发现了答案......难以置信!

设置父级(SKSpriteNode)的大小将影响Sprite的大小,但不会影响子级(标签)。这是代码:

[button setSize:CGSizeMake(100, 200)]; //button is the SKSpriteNode

标签文字的大小可以与按钮的大小调整分开更改。这允许按钮的位置和文本保持链接,但是它们的大小可以单独控制。正是我需要的。也许有一个更好的解决方案,首先对SKSpriteNode进行子类化,但我想不出更好的方法来保持它们的链接,而且是独立的。

答案 1 :(得分:2)

请允许我提供替代解决方案。假设sprite和label是父级和子级,如果你扩展精灵:

sprite.scale = 1.25;

您只需按比例缩小子标签:

label.scale = 0.75;