9VAeきゅうべえ Xamarin版を調べていたが、Cから Xamarinの描画関数を呼ぶのが難しいことがわかった。いろいろ調査していると、DXライブラリというのを発見。
ゲーム開発用にかなり昔から開発されているライブラリで、そのアンドロイド版があるらしい。これだと、Cでプログラムができて、描画関数がCから呼べる。
アンドロイドアプリをCで作りたいのでは、OpenGLを使えば良いのではという意見もあったが、OpenGL ESは三角形しか描けない。9VAeきゅうべえの基本の多角形塗りつぶしを自分で用意しないといけない。DXライブラリは、DirectX用のライブラリを、OpenGLを使うように修正したのだろう。ゲームに必要な関数が皆入っているらしい。なんと一番欲しかったライブラリではないか。ということで、9VAeアンドロイド版は、DXライブラリを使って開発することに方針転換。
ところが、いろいろ、つまずくところがありました。
- DXライブラリを使ったサンプルプロジェクトは、MacのVisualStudioでは実行できなかった。>>そこで開発マシンを Windows Visual Studio に変更。これでビルドはできるようになった。
- ところが、Androidエミュレータが起動しない。どうも、64bit Windows, メモリ6GB ぐらい必要らしい。家にあるのはみんな中古パソコンで、そんな贅沢なマシンはない。>>エミュレータは遅いらしいので、アンドロイド実機を購入することに決定。
- Nexusは高いので、Windows/Androidデュアルブート(Gecoo S1)というのを11000円で購入。これは安い。>>ところが実機デバッグできない。
- Android 5.1 でAPIレベルは十分なのだが、CPUがX86 だとだめだった。AndroidはみなARMで動いていて、デュアルブートは、ARMでWindowsを動かしているのだと勘違いしてた。DXライブラリのサンプルプロジェクトはARM用みたいだ>>仕方がないので、ARMの(Gecoo A1G)を追加購入。2台買ったが、X86 androidのテストもできるようになったので、まあ、よしとするか。DXライブラリの x86 android版も作っているみたいだ。
- ということで、ARM android をUSBケーブルで繋いで、DXライブラリのサンプルを動かすことができた。
まとめると、今、次のような問題を抱えているが、DXライブラリを使って、9VAeきゅうべえアンドロイド版を作ってみよう。
- X86 androidでは動かない。>>開発中らしい、いずれ動く
- DXライブラリは、三角形しか書けない。また、グラデーションをサポートしてない。>>多角形塗りつぶしのやり方はネットで見つかる。円形グラデーションはひとまず諦める
Xamatin 調査の記録
- 外部プログラムの標準出力を受け取る(リダイレクト)
-
自プロセスの標準入出力 (System.Console) - Programming/.NET Framework/標準入出力 - 総武ソフトウェア推進所
-
子プロセスの標準入出力 (System.Diagnostics.Process) - Programming/.NET Framework/標準入出力 - 総武ソフトウェア推進所
を使って子プロセスを起動する場合、UseShellExecuteプロパティにfalseを指定し、RedirectStandardOutputなどのプロパティをtrueにすることで子プロセスの標準ストリームをリダイレクトさせることができます。
DXライブラリ
DXライブラリを使うと C++で androidアプリが開発できる。今でもメンテされており、フリーソフトで、学校の授業でも使われてるようだ。素晴らしい。
ドキュメントも充実している。ただ、x86 android版がまだ開発中みたい。
Visual Studioのインストール手順
C++で androidを開発するには、Visual Studioが良い。DXライブラリを使うためには、Windowsでないといけない。
Visual Studio は、32bit Windowsにインストールできるが、Visual Studio エミュレータを使うためには、64bit 6GBメモリが必要らしい。エミュレータが起動しなかった。
Visual Studio Emulator for Android のシステム要件
Visutal Studioのインストール手順
- Visual Studio 2017 Community をダウンロード
- インストーラを実行
- そのあと、インストールするモジュールをいろんな種類を選べるので、「C++によるモバイル開発」をクリックする。
開発用アンドロイド実機の選び方