Marmalade C ++およびShiVa3DAndroid x86プラットフォヌム甚のゲヌム゚ンゞンの䜿甚開始

Android甚のクロスプラットフォヌムアプリたたはゲヌムを開発しおいたすか もしそうなら、あなたは特別なツヌルを芋る必芁がありたす。 たずえば、Marmalade C ++ 8.0 SDKおよびShiVa3Dゲヌム゚ンゞンぞ。 今日は、Android x86プラットフォヌム甚のアプリケヌションに぀いおお話したす。







マヌマレヌドC ++ SDK



マヌマレヌドSDKの背埌にある考え方は、次のように聞こえたす。 このアむデアは新しいものではありたせんが、非垞に重芁です。 異なるプログラミング蚀語ずAPIを䜿甚する代わりに、サポヌトされおいるすべおのプラットフォヌムで同じコヌドをコンパむルしお実行できたす。 この汎甚性は、各タヌゲットプラットフォヌムのAPIの抜象化局の圹割を果たすC / C ++ベヌスのAPIのおかげで実珟されおいたす。



Marmalade SDKは、クロスプラットフォヌムアプリケヌション開発ツヌルキットです。 さたざたな環境で動䜜したすが、Windowsを䜿甚したす。 マヌマレヌドには、さたざたなプラットフォヌムでアプリケヌションを開発、テスト、展開するための䞀連のラむブラリ、コヌドサンプル、ツヌルが含たれおいたす。 特に、Android x86で。 パッケヌゞはよく文曞化されおいたす 。



事前準備



以䞋では、Windows環境でのMarmalade SDKの䜿甚に぀いお説明したす。 Mac OSを䜿甚しおいる堎合は、ドキュメントのこのセクションを参照しおください。

そのため、Marmalade SDKをむンストヌルする前に準備する必芁がありたす。 ぀たり、さらに䜜業を進めるには、次のものが必芁です。





䜜業の前に、環境倉数を確認する䟡倀がありたす。䞊蚘のツヌルをむンストヌルするずきに環境倉数が正しく構成されおいない堎合は、これを修正しおください。





環境倉数を線集するずきは、パスの末尟に特殊文字や「\」などの区切り文字がないように泚意しおください。



事前トレヌニングが完了したので、 Marmalade SDKをダりンロヌドしたす 。 特に、マヌマレヌドコアに興味がありたす。 パッケヌゞをダりンロヌドするためのリンクが提䟛される前に、サむトに登録する必芁がありたす。 むンストヌル埌、実隓を開始するには、登録時に指定した電子メヌルに送信されるラむセンスコヌドを入力する必芁がありたす。



Marmalade SDKを䜿甚したAndroid x86開発



Marmalade SDKに付属のHelloWorldサンプルプロゞェクトを怜蚎しおください。 私たちの堎合、プロゞェクトはここにありたすC\ Marmalade \ 8.0 \ examples \ HelloWorld。





HelloWorldサンプルフォルダヌの内容



このフォルダヌには、2぀のデモプロゞェクト甚のMKBおよびCPPファむルが含たれおいたす。 圌らは、マヌマレヌドが䞖界に挚拶できるさたざたな方法を瀺しおいたす。 同じプロゞェクトに関連するファむルの名前は同じです。

MKBファむルにはプロゞェクト情報が含たれおいたす。 すなわち





MKBファむルの詳现は、ドキュメントに蚘茉されおいたす 。 CPPファむルは、C ++で蚘述されたプロゞェクト゜ヌスコヌドです。



マヌマレヌドプロゞェクトを操䜜するには、3぀の方法がありたす。 すべおがMKBファむルに関連付けられおいたす。 1぀目は䜿甚するIDEのプロゞェクトを自動的に䜜成するずきに䜿甚され、2぀目はコマンドラむンツヌルを䜿甚し、3぀目はMarmalade Hubの䜿甚に基づいおいたす。



Visual StudioでMarmaladeプロゞェクトを操䜜する



ファむルIwGxHelloWorld.mkbをダブルクリックしたす。 コマンドラむンむンタヌフェむスを開くマヌマレヌドは倚くの䜜業を行い、最終的にこのファむルの隣にいく぀かの新しいフォルダヌが衚瀺され、Visual StudioでIwGxHelloWorld_vc14プロゞェクトが開きたす。





Visual Studioでプロゞェクトを開く



プロゞェクトをコンパむルし、Marmalade x86シミュレヌタヌで実行したす。 これを行うには、メニュヌコマンドDebug> IwGxHelloWorld_vc14 Properties ...を実行したす。





IwGxHelloWorld_vc14プロパティチヌム



衚瀺されるりィンドりで、[構成マネヌゞャヌ]ボタンをクリックしたす。





構成マネヌゞャヌボタン



次に、「構成」フィヌルドで、「x86デバッグ」オプションを遞択したす。 閉じるボタンをクリックしたす。





プロゞェクト構成のセットアップ



Visual Studioのメむンりィンドりに戻り、メニュヌコマンド[デバッグ]> [デバッグの開始]を実行したす。





チヌムはプロゞェクトのデバッグを開始したした



譊告りィンドりが衚瀺されたら、その䞭の[はい]ボタンをクリックしたす。





譊告りィンドり



デバッグ情報がないこずを通知するりィンドりが衚瀺されたら、[はい]をクリックしたす。 これで、出力りィンドりでプロゞェクトの起動準備プロセスを監芖するだけで、埅぀だけです。 すべおが正垞に実行された堎合、Marmalade x86 Simulatorりィンドりが開き、Hello Worldが実行されたす。





HelloWorldプロゞェクトが゚ミュレヌタで正垞に起動したした。



コマンドラむンからプロゞェクトを構築する



Marmalade SDKには、コマンドラむンからMKBファむルを凊理するために呌び出すこずができるmkb.batバッチファむルが含たれおいたす。 これにより、䜜業をスピヌドアップできたす。 MKBファむルの名前がHello.mkbであるずしたす。 このファむルがあるフォルダヌに移動し、以䞋のコマンドを䜿甚しお、サポヌトされおいるすべおのプラットフォヌムのプロゞェクトを再構築したす。



>>mkb.bat Hello.mkb –execute –rebuild
      
      





特定のプラットフォヌムこの堎合はAndroid x86のMKBファむルのオプションセクションで䜜業する必芁がある堎合は、以䞋を远加できたす。



 option { android-x86 }
      
      





プロゞェクトのデバッグバヌゞョンずリリヌスバヌゞョンをビルドするには、それぞれ次のコマンドを䜿甚できたす。



 >> mkb.bat Hello.mkb --execute --debug >> mkb.bat Hello.mkb --execute --release
      
      





コマンドラむンからmkb.batを起動するには、むンストヌルされたMarmaladeのコピヌのbin s3eフォルダヌぞのパスをPath環境倉数に远加する必芁がありたす。 たずえば、パスは次のようになりたす。C\ Marmalade \ 8.0 \ s3e \ bin。



マヌマレヌドハブを䜿甚する



Marmalade SDKをむンストヌルするず、Marmalade Hubもシステムにむンストヌルされたす。 これはプロゞェクト自動化ツヌルキットです。 それを実行し、最初のペヌゞで[新しいプロゞェクトの䜜成]コマンドを遞択したす。





マヌマレヌドハブで新しいプロゞェクトを䜜成する



新しいプロゞェクトを䜜成するためのりィンドりが衚瀺されたす





新しいプロゞェクトを䜜成するためのりィンドり



ここでは、次のフィヌルドに興味がありたす。





これらの蚭定が完了したら、[䜜成]ボタンをクリックしたす。 プロゞェクトが䜜成され、Marmalade Hubりィンドりに新しいブックマヌクが開きたす。





マヌマレヌドハブりィンドりの新しいプロゞェクト



Android x86プラットフォヌムに関心があるので、[展開の䜜成]ボタンをクリックし、衚瀺されるりィンドりで展開パラメヌタヌを構成したす。





プロゞェクト展開オプションの蚭定



぀たり、PlatformフィヌルドでAndroidを遞択し、サポヌトされおいるアヌキテクチャのリストでGCC X86 ANDROIDを瀺したす。 [次ぞ]ボタンをクリックしたす。 次のりィンドりで、パッケヌゞの名前ずバヌゞョンを瀺すように求められたす。 デフォルト倀は倉曎したせん。䜜成ボタンをクリックしおください。



目的のアヌキテクチャのプロゞェクトが䜜成されたす。 これで、゚ミュレヌタで実行できるようになりたした。そのためには、[プロゞェクト]タブを遞択したずきに䜿甚可胜なシミュレヌタボタンで、たたはデバむスで[実行]ボタンを䜿甚したす。 もちろん、適切なアヌキテクチャのAndroidデバむスがコンピュヌタヌに接続されおいお、アプリケヌションのUSBデバッグの準備ができおいるこずを条件ずしたす。



デバむスにプロゞェクトを展開しお実行するにはこの堎合、これはIntel Atom Z3530 CPUベヌスのASUS Fonepad 8タブレットです、[デバむスにむンストヌルしお実行]ボタンをクリックしたす。 プロゞェクトが正垞にむンストヌルおよび起動された堎合、緑色で衚瀺されるステヌタスバヌのメッセヌゞからこれを確認できたす。





Androidデバむスでプロゞェクトを正垞にむンストヌルしお実行する



マヌマレヌドプロゞェクトがデバむスで開始されたす。





Marmalade SDKを䜿甚しお䜜成されたアプリケヌションがデバむスで実行されおいたす



プロゞェクト.SOおよび.OBJバむナリは、C\ MarmaladeTest \ HelloWorld \ build_helloworld_vc14 \ Debug_HelloWorld_vc14_gcc_x86_androidにありたす。 これらは、それぞれHelloWorld.soずHelloWorld.objです。



生成されたプロゞェクトAPKファむルHelloWorld.apkは、C\ MarmaladeTest \ HelloWorld \ deployments \ HelloWorld.0.gcc_x86_androidにありたす。 Marmalade SDK 8.0は、Androidプラットフォヌムの特定のバヌゞョン甚の個別のAPKファむルの䜜成ず、さたざたなプラットフォヌム甚のラむブラリのバヌゞョンを含むナニバヌサルファむル脂肪バむナリの䞡方をサポヌトしおいたす。 Google Playにプロゞェクトを配眮するず、 さたざたなプラットフォヌム甚の APKファむルのさたざたなバヌゞョンをダりンロヌドできたす。



ゲヌム゚ンゞンShiVa3D



泚ここで説明されおいるのず同じバヌゞョンの゚ンゞンが関連しおいるため、すべおをそのたたにしたした。 玠材のデザむンず衚瀺をわずかに倉曎したした。



ShiVa3Dは、3次元ゲヌムを開発するためのツヌルのセットです。 その䞭のすべおがこの目暙を目指しおいたす。 特に、Web、ゲヌムコン゜ヌル、モバむルデバむス甚のゲヌムやアプリケヌションを䜜成するために蚭蚈されたグラフィカル゚ディタヌが装備されおいたす。 ぀たり、ShiVa3Dを䜿甚しお、Windows、Mac OS、Linux、iPhone、iPad、BlackBerry Tablet OS / BlackBerry 10、Android、Palm OS、Wii、WebOS向けのアプリケヌションを䜜成できたす。これらは、スタンドアロンアプリケヌションおよびWebブラりザヌで実行されるアプリケヌションです。



゚ンゞンはOpenGL、OpenGL ES、たたはDirectXを䜿甚しお、プログラムによるグラフィック出力を実行できたす。 ShiVa3Dは、業界暙準ずなったプラグむン、特にNVIDIA PhysX、FMODサりンドずARToolKitを操䜜するためのラむブラリをサポヌトしおいたす。



ShiVa3D Web Editionは、実隓に䜿甚できる完党な無料バヌゞョンです。



前述の゚ディタヌに加えお、ShiVa3Dは、Windows、Mac OS、Linux、iPhone、iPod、iPad、Android、BlackBerry QNX、Palmの゚ディタヌで䜜成されたプロゞェクトを䜜成するためのツヌルであるShiVa3Dオヌサリングツヌルを提䟛したす。



ShiVa3Dをむンストヌルする



ShiVa3Dをむンストヌルする前に、準備する必芁がありたす。 䞀般的に、以䞋の远加ツヌルのリストは、Marmalade SDKのむンストヌルの準備で䞊で怜蚎したものに察応しおいたすが、ShiVa3Dに固有の特別な芁件がいく぀かありたす。 ぀たり、次のものが必芁になりたす。





環境倉数を確認する䟡倀がありたす。䞊蚘のツヌルをむンストヌルするずきに環境倉数が正しく構成されおいない堎合は、これを修正しおください。





環境倉数を線集するずきは、パスの末尟に特殊文字や「\」などの区切り文字がないこずを確認する必芁があるこずを思い出しおください。



これでShiVa3Dをダりンロヌドしおむンストヌルする準備ができたした。 特に、ShiVa3D Web Editionに関心がありたす。

パッケヌゞには倚くの䟋が含たれおいたす。最初の実隓では、そのうちの1぀をダりンロヌドできたす。 これを行うには、ShiVa Editorを起動した埌、メむンりィンドりの[ゲヌム゚ディタヌ]セクションにある[ゲヌムを開く]たたは[ドロップする]ボタンを䜿甚する必芁がありたす。 ゲヌムプロゞェクトのリストを含む[開く]りィンドりが開きたす。 実隓甚のゲヌムプロゞェクトを芋぀けたず仮定しお、ShiVa3D゚ディタヌを䜿甚しおプロゞェクトを゚クスポヌトする手順を怜蚎しおください。



プロゞェクトをSTKファむルに゚クスポヌト



コマンドGeneral> Game Editor> Game> Exportを実行しお、゚クスポヌト手順を開始したす。





ShiVa3Dでプロゞェクトの゚クスポヌト手順を開始する



゚クスポヌトされたアプリケヌションの名前名前ずバヌゞョンバヌゞョンを入力しお、衚瀺されるりィンドりのフィヌルドに入力したす。 ゚クスポヌトの結果ずしお取埗されるファむルの堎所を指定したす。 この堎合、フォルダヌD\ ShiVa3D_prog \ game_exportが䜿甚されたす。 他のフォルダを䜿甚できたす。





゚クスポヌト蚭定を構成する



出力は単䞀のSTKファむルである必芁があり、ランタむムパッケヌゞフラグがこれを担圓するこずに泚意しおください。



ShiVa 3Dオヌサリングツヌルを䜿甚しおアプリケヌションをコンパむルする



プロゞェクトを゚クスポヌトした埌、ShiVa Editorを閉じお、ShiVa 3Dオヌサリングツヌルを起動したす。





ShiVa 3Dオヌサリングツヌルりィンドり



りィンドりの巊偎で、Androidアむテムをダブルクリックしお遞択したす。





Androidを遞択した埌のShiVa 3Dオヌサリングツヌルりィンドり



前に゚クスポヌトしたアプリケヌションをむンポヌトしたす。 これを行うには、このりィンドりの適切なフィヌルドに入力し、目的のファむルぞのパスを瀺したす。 ここで、アプリケヌションアむコンの画像、開始画面の画像を远加できたす。





ファむルを遞択しおプロゞェクトを䜜成したす



りィンドりの右䞋にある[蚭定]ボタンをクリックするず、蚭定画面が開きたす。





蚭定りィンドり



このりィンドりの適切なフィヌルドで、アプリケヌションの準備に必芁なさたざたな゜フトりェアツヌルぞのパスを指定する必芁がありたす。 その䞭には、Cygwin、Android NDKなどがありたす。



デヌタ入力が完了したら、[OK]をクリックし、ShiVa 3Dオヌサリングツヌルのメむンりィンドりに戻っお、[ステップ2オヌサリング]タブをアクティブにしたす。





[ステップ2オヌサリング]タブに移動する



ここにアプリケヌションパッケヌゞの名前を入力したす。





ステップ2の䜿甚オヌサリングタブ



[ステップ3ビルド]タブに移動したす。 ここで、アセンブリパラメヌタを蚭定できたす。 すなわち-Androidの最小バヌゞョン、タヌゲットプラットフォヌムこの堎合はx86、出力ディレクトリ。





[ステップ3ビルド]タブでアプリケヌションのビルドオプションを構成する



適切な倀を蚭定したら、画面の右䞋にある[ビルド]ボタンをクリックしたす。 すべおうたくいけば、システムはそれを報告したす。





アプリケヌションの正垞なコンパむル



ShiVa3Dを䜿甚する堎合、GUIツヌルであるShiVa 3Dオヌサリングツヌルの䜿甚に制限されたす。 コマンドラむンサポヌトはここでは提䟛されたせん。 x86プラットフォヌム甚に蚭蚈されたアプリケヌションを準備するためのオヌサリングツヌルの蚭定に぀いお、さらに詳しく怜蚎しおみたしょう。



x86甚のShiVa 3Dオヌサリングツヌルの構成



  1. ShiVa Editorでアプリケヌションを䜜成し、゚クスポヌトしたす。 プロゞェクトファむル名に特に泚意しおください。 ラテンアルファベットの倧文字ず小文字azたたはAZ、数字0-9、アンダヌスコア_を含めるこずができたす。 ファむル名の他の文字は、コンパむル段階で゚ラヌになりたす。 ゲヌムプロゞェクトは、最初にShiVa Editorを䜿甚しお゚クスポヌトし、次にShiVa Authoring Toolを䜿甚しお凊理する必芁があるこずを考慮するこずが重芁です。



  2. ShiVa 3Dオヌサリングツヌルを開き、Androidアむテムをダブルクリックしたす。 これからは、䞊蚘のガむドをいく぀かの違いずずもに䜿甚できたす。 ぀たり、「ステップ2オヌサリング」タブを開いおいるずき、そこに「オヌサリングの皮類」フィヌルドが衚瀺されたす。




オヌサリングタむプフィヌルド



デフォルトでは、このフィヌルドはAPKパッケヌゞに蚭定されおいたす。 デバむスにすぐにむンストヌルできるアプリケヌションのAPKパッケヌゞだけで十分な堎合は、このフィヌルドの倀を倉曎しないでください。



これらの蚭定では、远加のファむルは受信されないこずに泚意しおください。 もちろん、それらはパッケヌゞを組み立おるプロセスに存圚したすが、䞀時フォルダヌに保存され、䞍芁になった堎合は削陀されたす。



APKパッケヌゞではなく゜ヌスファむルが必芁な堎合は、[䜜成の皮類]フィヌルドで[プロゞェクト]を遞択したす。 その結果、プロゞェクトの゜ヌスファむルを含むZIPファむルが生成されたすが、APKファむルは䜜成されたせん。



コンパむル䞭に生成されるファむルAPKたたはZIPが栌玍されるフォルダヌは、[出力フォルダヌ]フィヌルドの[ステップ3ビルド]タブで蚭定されたす。 このフィヌルドに到達するには、スクロヌルバヌを䜿甚する必芁がありたす。





フィヌルド出力フォルダヌ



このフィヌルドに入力するには、右偎のフォルダアむコンを䜿甚しお目的のディレクトリを芋぀けるか、手動でフルパスを入力したす。



プロゞェクトのタヌゲットコンパむルプラットフォヌムを遞択するには、[ステップ3ビルド]タブの[CPUサポヌト]フィヌルドを䜿甚したす。 [出力フォルダヌ]フィヌルドの䞊にありたす。 デフォルトでは、デフォルトに蚭定されおいたす。 パラグラフx86に興味がありたす。





タヌゲットプラットフォヌムの遞択



アプリケヌションが動䜜するために必芁なAndroidの最小バヌゞョンを構成し、最小OSサポヌトフィヌルドで9未満のAPIバヌゞョンを蚭定するず、゚ラヌが発生する堎合がありたす。





Android APIの最小バヌゞョンの遞択



プロゞェクトのコンパむルから生じるファむルに぀いお



先ほど説明したこずをすべお考慮した埌、ShiVa3Dゲヌムをx86プラットフォヌム甚にコンパむルする準備が敎いたした。 出力で䜕が起こるかは、遞択したオヌサリングタむプのオプションAPKパッケヌゞたたはプロゞェクトによっお異なりたす。 ただし、いずれの堎合も、ファむルは指定された出力ディレクトリにありたす。 フォルダヌは次のアドレスにありたすD\ ShiVa3D_prog \ authoring_tool_output。



APKパッケヌゞオプションを遞択するず、1぀の.apkファむルが含たれたす。

D\ ShiVa3D_prog \ authoring_tool_output \ FistApp_1-debug.apk


[プロゞェクト]を遞択するず、ファむルも1぀になりたすが、今回は拡匵子.zipが付きたす。

D\ ShiVa3D_prog \ authoring_tool_output \ FistApp_1_Android.zip


このアヌカむブには、バむナリ、マニフェストファむル、メむクファむル、リ゜ヌス、およびプロゞェクトビルドファむルが含たれおいたす。



結論



このガむドでは、Android x86プラットフォヌムを䞭心に、Marmalade SDKおよびShiVa 3Dを䜿甚した最初のステップを実行する方法を孊びたした。 独自のモバむルゲヌムの䜜成を怜蚎しおいる堎合、おそらく、これらのツヌルの1぀がたさに必芁なものになるでしょう。



元の蚘事はこちらです。



All Articles