Я пытаюсь создать относительно простую игру с 2D-графикой, которая имеет несколько сложных анимаций. Я пытался разработать игру с использованием базовых библиотек Core Graphics и Core Animation, но производительность анимации игровых объектов неудовлетворительная (т. Е. Отрывистая / задержанная).
Итак, я сейчас смотрю на Cocos2D, который выглядел очень многообещающе, пока я не проверил поддержку высокого разрешения для iPhone 4. Это, похоже, не очень хорошо работает, но опять же, я только начал посмотрите на это.
Единственное, что документация говорит о проблеме, так это просто используйте CCDirector для установки масштабного коэффициента, что можно сделать так:
if( [[UIScreen mainScreen] respondsToSelector:@selector(scale)]) {
[[CCDirector sharedDirector] setContentScaleFactor: [[UIScreen mainScreen] scale] ];
}
Однако это не дает ожидаемого поведения. Он просто удваивает количество пикселей для работы, что означает, что я должен учитывать «коэффициент двойных пикселей» во всем моем коде.
В библиотеках Core Graphics / Animation координатное пространство, с которым мы работаем, не изменяется. За занавесками он просто удваивает все, чтобы заполнить экран iPhone 4 с высоким разрешением, и использует изображения @ 2x, где это возможно. Это на самом деле работает очень хорошо, и игровая логика не должна принимать во внимание разрешение устройства. Cocos2D, кажется, реализовал это довольно плохо, из-за чего я не хочу идти на борт поезда Cocos2D.
Я нашел несколько других тем на эту тему, но не было реальных ответов, которые не включали бы обходные пути. Это исправлено? Я делаю это неправильно или Cocos2D просто не в высоком разрешении? Есть ли альтернативы Cocos2D, которые могут дать мне то, что мне нужно?