Базовая анимация для игр FPS (iPhone) - PullRequest
0 голосов
/ 21 июня 2011

Я недавно начал изучать OpenGL ES для разработки на iPhone, но несколько человек в Stack Overflow отметили, что Core Animation с изображениями намного проще, чем OpenGL (для 2D-игр).Я прочитал о CA, и на сайте, который я нашел, говорится, что Core Animation в основном предназначена для создания настольных игр.Это правда?

Игра, которую я пытаюсь сделать, похожа на астероиды, поэтому я нашел это полезным: http://cocoawithlove.com/2009/02/asteroids-style-game-in-coreanimation.html Однако большинство из нас знает, что симулятор Mac / iPhone - это совершенно другой мир.чем фактическое устройство iPhone.Итак, суть: Core Animation будет работать для моих нужд?Сможет ли он выжить до 60 FPS в OpenGL ES?

1 Ответ

2 голосов
/ 21 июня 2011

Как и для любого вопроса, связанного с производительностью, ответ будет зависеть от того, что вы пытаетесь сделать, и от оборудования, на котором вы пытаетесь это сделать.Как я сообщаю в своем ответе здесь , я смог анимировать 50 движущихся полупрозрачных слоев CAL при 60 кадрах в секунду на оригинальном оборудовании iPhone с помощью Core Animation.В настоящее время поставки устройств, таких как iPhone 4, iPad и, в частности, iPad 2, выполняются намного быстрее, чем это оборудование первого поколения.

Я бы рекомендовал в качестве упражнения перенести пример Mac Core Animation Asteroids Мэтта на iOS,Как вы говорите, вы не можете сказать, на что будет похожа производительность, пока не запустите ее на реальном устройстве, так почему бы не попробовать?Глядя на то, что он делает, не так уж сложно привести этот пример в iOS, потому что большая часть кода Core Animation останется прежней.

Возможно, вы получили «Core Animation только для настольных игр».«Впечатление от кода GeekGameBoard Дженса Алфке, который реализует систему настольных игр с использованием Core Animation.Несколько человек основали на этом другие приложения.Это не значит, что Core Animation полезна только для этого конкретного жанра.

Да, OpenGL ES даст вам возможность извлечь последний бит производительности из аппаратного обеспечения, но это займет гораздо большекод, чтобы сделать это, если вы не используете фреймворк, как cocos2d.Базовая анимация может быть очень быстрой, если вы правильно ее используете, и с ней намного проще работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...