1

私はかなりの量の調査を行っており、Android 用の NDK (SDK ではありません) を使って実験したこともあります。私が実際に見つけることができなかったのは、NDKができないことの明確で簡潔な定義です (例外処理と rtti の欠如に加えて)。

Android 用のゲームとゲーム エンジン (完全に NDK で記述) のコードをいくつか作成しましたが、多くの人が望んでいるほどサポートされていないようです。それだけでなく、OpenGL ですべてをゼロから作成することなく、ゲームにセクシーな UI を提供できるようにしたいと考えています。

Javaの方が簡単だと確信していますが、NDKのフロントエンド/UIコンポーネントが、タッチスクリーンIO、サウンド、およびグラフィカルインターフェイスの点でJavaに匹敵するレベルに達しているかどうかを知りたいです. . 最悪の場合、Java で UI を作成し、そこからネイティブ メソッドを呼び出すこともできますが、可能であればもっと多くのことを実行できるようにしたいと考えています。

ありがとう。

編集

C++ が Java の UI 機能セットと多少でも同等である場合、2 つのうちどちらがより多くの制御とカスタマイズを提供するかを知ることは素晴らしいことです。たとえば、Java 実装の方が使いやすいかもしれませんが、特定のものに似た「外観」を微調整するための多くのオプションがプログラマーに提供されますか?

4

1 に答える 1

3

公式の NDK は例外と rtti を問題なく実行できます。Android NDK で配布されている「docs/CPLUSPLUS-SUPPORT.html」ファイルを参照してください。

C++ で唯一できないことは、Java インターフェイスの実装、Java クラスの継承、および新しい Java クラスの定義です。それ以外の場合 - Java でできることは何でもできます。これに関する唯一の問題は、多くのこと (Java オブジェクト メンバーへのアクセスや Java 関数の呼び出しなど) で JNI を使用する必要があり、そのコードが非常に見苦しく見えることです。したがって、UI の作成/Java クラスの継承が必要な場合は、すべてを C++ でコーディングできます。

パフォーマンスが重要なコードにのみ JNI を使用することをお勧めします。コードの混合 - UI 用の Java、C/C++ での数学的計算は非常に簡単です。または、OpenGL ES を使用してゲームをコーディングする場合も問題ありません。

于 2012-04-25T06:00:11.290 に答える