2015-01-12 2 views
0

Я хочу создать game like this. Это игра-головоломка.SpriteKit поддерживает различные размеры экрана

Мои вопросы: мне нужно иметь разные изображения для каждого устройства? Так что сейчас, как мы можем видеть, Apple, имеет 5 различных мобильных устройств размеры:

  • картинки 3,5 ''
  • iPhone 4 ''
  • iPhone 4,7 ''
  • iPhone 5,5 ''
  • IPad

Итак, мой вопрос в том, есть ли у меня активы для сетчатки iPad, тогда мне также нужны 4 других одинаковых актива с фоном и изображениями головоломок для размеров iPhone? Или я могу его оптимизировать? Например, если мы создаем 3D-игру, openGL отображает только необходимый кадр, и нам не нужно столько сцен, сколько у нас есть, всего один.

+1

Вот хороший учебник для начала и ознакомление с универсальными приложениями http://www.raywenderlich.com/49695/sprite -kit-учебник решений-а-универсальное приложение-часть-1 – Whirlwind

ответ

2

Обнаружить устройства и настроить свои активы следующим образом.

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) 
    { 
     CGSize result = [[UIScreen mainScreen] bounds].size; 

     if (result.height == 480) 
     { 
      // Setup iPhone 4, 4s, iPod Touch Assets 
     } 
     else 
     { 
      // Setup iPhone 5, 5s, 6 Assets 
     } 
    } 
    else if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) 
    { 
     //Setup iPad Assets 
    } 
1

При поддержке разных размеров экрана необходимо учитывать множество факторов. Большим фактором, который следует учитывать, является то, хотите ли вы иметь отдельные версии ваших сеттинговых ретинов и сетчатки (@ 2x). Вы можете просто использовать изображения сетчатки и позволить им масштабироваться на устройствах без сетчатки, но это не будет оптимизировано, потому что у вас будут загружены полные текстуры в память.

Следующим фактором, который следует учитывать, является размер ваших активов. Планируете ли вы, чтобы игра имела более крупные активы на более крупных устройствах? Или вы планируете сохранить все активы одинакового размера, но при увеличении размеров более крупных устройств? (т. е. iPhone может иметь прокручиваемый вид, в то время как iPad не нужно будет прокручивать, потому что он будет иметь больший вид)

Следующим фактором, который следует учитывать, является соотношение сторон ваших активов. Вам, разумеется, понадобятся разные активы, если ваши пропорции отличаются (например, в случае фоновых изображений, заставки и т. Д.)

Я рекомендую вам использовать папку Apple Images.xcassets. Это позволит вам организовать все ваши активы на всех разных устройствах. И для получения дополнительной информации о масштабировании сцены в разных разрешениях, я предлагаю вам прочитать мой ответ here

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