2009-08-06 11 views
0

私はC/C++の背景から来ており、最近ではフラッシュしています。とにかく私はAS3で2Dエンジンを書いており、iPhone上で動作させたいと思っています。まずはC++に変換しました。テストとして、私は非常に単純なC++エンジンを作成し、そのファイルをXCodeの標準ビューベースアプリケーションに追加しました。その後、iPhoneの画面全体をカバーするUIImageViewを追加しました。iPhoneで既存のC++エンジンを使用しています

現在、私のテストエンジンの設定方法は、各フレームが結果を画像にレンダリングし、それをUIImageViewをすべてのフレームに更新するために使用することです。 iPhoneからC++エンジンに入力を渡すことができると仮定すると、これはかなりプラットフォームに依存しないソリューションのようです。私はiPhone/Macを1日未満でコーディングしていたので、これがiPhone上で動作している既存のC++エンジンを取得する標準的な方法であるかどうか、もしそうでなければ、何か?

+1

を持っているあなたは正しくない、iPhoneは完全なC++ランタイムを持っており、あなたがunifedているので、それは客観Cで例外ハンドラのようなものを共有しました例外(Objective CはC++からスローされた例外をキャッチすることができ、その逆もあります) –

+0

私はあなたの答えを理解しています。私はObjective-Cでの例外処理について知っていますが、あなたの "あなたは正しくありません"というコメントでより具体的に言えますか? –

答えて

0

はい、それはそれを処理するためのかなり普通の方法です。一般的には、小さなObjective Cスタブを使用してイベントを処理したり、フレームをプッシュしたり、OpenGLコンテキストを設定してC++コードに渡したりします。

1

画像にレンダリングしてその画像をリフレッシュする際に問題はありませんが、この手法を使用してGPUからアクセラレーションを取得することはできません。だからあなたはCPUサイクルをたくさん燃やしていて、それが順番にバッテリーを食べるでしょう。

レンダリングしているオブジェクトを通常のグラフィックスプリミティブで記述できる場合は、プラットフォーム用に最適化された描画APIを使用してください。また、GPUに作業を委任できます。

別のアプローチは、OpenGLESを利用することであるが、これは学習曲線

関連する問題