2015-11-24 3 views
-1

Я делаю универсальную игру. Все выглядит нормально, за исключением некоторых SKLabelNodes, которые хорошо смотрятся на iPad и ужасно на iPhone. Я думал, что если я смогу автоматически изменить размер до меньшего размера, если игрок использует iPhone - это было бы здорово! Я знаю, что может проверить IOS версию, как это:Как изменить размер шрифта SKLabelNodes относительно размера экрана устройства?

if #available(iOS 8.0, *) { 
     skView.showsPhysics = false 
    } else { 
     // Fallback on earlier versions 
    } 

Может быть, я мог бы как-то делать вещи относительно размера экрана или устройств вместо IOS версии с этим кодом? Или как это сделать другим способом?

ответ

0

Вместо того чтобы сделать его специфичным для устройства, проверьте разрешение экрана с помощью UIScreen.mainScreen().bounds.size. Это даст вам текущее разрешение, с которым вы можете работать, и затем отрегулируйте размер шрифта на нем с помощью label.fontSize или масштабируйте слой на основе размер экрана с label.setScale(CGFloat(some #)), где метка является переменной типа SKLabelNode. Выполнение этого способа позволяет вам в будущем защищать ваше приложение.

+0

Можете ли вы быть более конкретным в первой части? Как это должно выглядеть? Что-то вроде 'if UIScreen.mainScreen(). Bounds.size == ??? {label.fontSize = 30} else ... '? Что я должен положить вместо '???', и если я полностью понял вас? – Burundanga

+0

// Предположим, пейзаж: 'if (UIScreen.mainScreen(). Bounds.size.width <480) {label.fontSize = 30} else if (UIScreen.mainScreen(). Bounds.size.width <576) {label. fontSize = 32} else {label.fontSize = 34} 'Вы бы использовали его так: – Knight0fDragon

+0

@KnightOfDragon Получил это! Если я предполагаю, что мне нужны цифры размером 320 и выше, да? В любом случае, спасибо! – Burundanga

Смежные вопросы