В SpriteKit есть ли способ сделать SKLabelNode
одинакового размера, независимо от устройства, например: выглядит так же, как на iPhone 5, как 6Plus?Как сделать текст такого же размера на всех устройствах в SpriteKit?
Я попытался с помощью этого метода кого-то еще рекомендуется:
let textRect = CGRect(x: 0, y: 0, width: frame.width * 0.4, height: frame.height * 0.045)
let scalingFactor = min(textRect.width/text.frame.width, textRect.height/text.frame.height)
text.fontSize *= scalingFactor
Но это не делает весь текст такого же размера, как и слова, как «человек» не так высок, как физически такие слова, как " Высокий "(из-за этого" y "и" h "торчат).
Итак, есть способ, чтобы текст выглядел одинаковым для всех устройств? В настоящий момент я создаю SKLabelNode следующим образом:
let text = SKLabelNode(text: "Start")
text.fontSize = 30
text.position = CGPoint(x: 0, y: 0)
addChild(text)
Какова ваша постоянная информация на всех ваших устройствах? будет кадр быть одинаковым числом? В основном мне нужно знать, происходит ли какое-либо масштабирование/изменение размера со сценой. – Knight0fDragon
Я бы хотел, чтобы размер шрифта составлял, например, 10% высоты экрана, независимо от того, на каком устройстве оно работает. Значит, он должен масштабироваться с размером экрана? – Dan2899
Я не могу ответить, что еще, мне нужно знать, изменилась ли ваша сцена или нет – Knight0fDragon