2009-08-06 3 views
0

Я исхожу из фона C/C++ и совсем недавно. В любом случае я написал 2D-движок в AS3 и хотел бы запустить его на iPhone. Для начала я преобразовал его в C++. В качестве теста я написал очень простой движок C++ и добавил файлы в стандартное приложение на основе представления в XCode. Затем я добавил UIImageView, который покрывал весь экран iPhone.Использование существующего движка C++ на iPhone

То, как настроен мой тестовый движок, заключается в том, что каждый кадр отображает результат на изображение, которое затем используется для обновления UIImageView каждого кадра. Предполагая, что я могу передавать данные с iPhone на движок C++, это похоже на довольно независимое от платформы решение. Поскольку я кодировал iPhone/Mac менее 1 дня, мне было интересно, является ли это стандартным подходом к созданию существующего C++-движка на iPhone, а если нет, то что?

+1

вы не правильно, iPhone имеет полный C++ выполнения, и она разделяет вещи, как обработчик исключений с Objective C, так как вы unifed исключения (Objective C может перехватывать исключения из C++ и наоборот) –

+0

Я понимаю ваш ответ ниже, это похоже на то, что я делаю. Я знаю об обработке исключений в Objective-C, не могли бы вы уточнить, что ваш комментарий «Вы не правильный»? – 2009-08-06 05:24:16

ответ

0

Да, это довольно обычный способ справиться с этим. Как правило, вы либо используете небольшие объекты Objective C для своих событий, либо такие вещи, как выталкивание фрейма, или вы настраиваете контекст OpenGL, а затем передаете его на свой код на C++.

1

У вас нет проблем с рендерингом изображения и обновлением этого изображения, но вы не получите ускорения от GPU, используя эту технику. Таким образом, вы будете сжигать много циклов процессора, что по очереди ест батарею.

Если объекты, которые вы визуализируете, можно описать в обычных графических примитивах, обязательно используйте API-интерфейсы чертежей, которые оптимизированы для платформы и могут делегировать работу на GPU.

Альтернативный подход заключается в использовании в OpenGLES, но это имеет кривую обучения

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