Как обновить 2D игру для iPhone, чтобы она была совместима с сетчаткой iPhone 4? - PullRequest
9 голосов
/ 26 июля 2010

Каковы необходимые шаги, чтобы обновить существующую 2D-игру для iPhone на базе OpenGL ES 1.1 для обеспечения совместимости с дисплеем сетчатки iPhone 4? Я по-прежнему использую класс Texture2D, который поставляется с образцом кода CrashLanding (скачать) от Apple.

После прочтения документации Apple , просмотра видео WWDC (сеанс 134 "Оптимизация приложения для iPhone для дисплея Retina") и просмотра примера кода Cocos2D Я все еще не уверен .

Я считаю, что необходимые шаги включают в себя:

  • передача изображения с высоким разрешением (с добавлением "@ 2x") на [UIImage imageNamed:@"image.png"]
  • изменение «contentScaleFactor» с 1.0 на 2.0 (где?)
  • обновление аргументов до glOrthof для включения contentScaleFactor
  • настройка размера glViewport

Обратите внимание, что я относительно новичок в OpenGL.

Спасибо за вашу помощь!

1 Ответ

8 голосов
/ 26 июля 2010

Вы должны сохранить изображение размером 320x480 и присвоить изображению 640x960 другое имя. Предположим, что изображение размером 320x480 называется foo.png, затем назовите 640x960 одно foo@2x.png.

Система автоматически выберет более высокое разрешение на iPhone 4 без каких-либо изменений в коде - при условии, что вы использовали [UIImage imageNamed:@"foo.png"].

...