私はしばらくの間自分のゲームに取り組んできました、そしてそれは窓でうまく働きます。すべてがクロスプラットフォームをサポートするように設計されています。あなたが私の質問を理解するために、私はすべてがどのように機能するかを少し説明する必要があります:
複数のライブラリがあります:プラットフォーム、ビデオ、XML、イメージ、エンジン。これらはそれぞれ、WindowsではDLLとして、iOSでは静的ライブラリとしてコンパイルされます。
ライブラリ内のすべては、通常の関数(で宣言されているextern "C"
)またはインターフェイスを持つオブジェクトのいずれかです。
フォルダ構造は、プロジェクト、インクルード、ソースのように構成されています。
インクルードフォルダーには、インターフェイスや関数プロトタイプなどのすべてのプラットフォームに共通のコードのみがあります。ソースフォルダには、各プラットフォームに固有の他のフォルダがあります。
私は問題なくiOSにプラットフォームライブラリを移植することができましたが、今はビデオのもので立ち往生しています。
これは、レンダリングAPI(WindowsではOpenGL、iOSではOpengl-ES 2)を処理します。
ドライバーを作成するには、次の関数を使用する必要があります。
IVideoDriver* CreateVideoDriver(void* container)
コンテナはHWND
窓の下にあります。
問題は、iOSでこの初期化スタイルを使用する方法がわからないということです。
いくつかのチュートリアルを読み、サンプルのソースコードを見ましたが、これを行う方法がわかりません。私が見たところ、OpenGLの初期化はビューで実行する必要があり、それらすべてをコードにリンクする方法がわかりません。私はいくつかのobjective-cコードを使用する必要があることを知っていますが、それは問題ではありません。
誰かがこの問題で私を助けてくれますか?