CocosSharpの戻るボタンと終了処理の問題

「CocosSharp」には重大な欠陥があります。
それはAndroidのバックボタンが使えないことと、終了処理ができないことです。
英語圏で調べると、Back Buttonは上書きできなくはないようですが、終了処理は駄目らしいです。

そこで解決策として「Xamarin.Forms」版の「CocosSharp」を使えば問題が無くなります。
ただラッパーの上にさらにラッパーしてるかもしれないので、CPUやGPUの負荷が大きいかもしれません。

でも「Xamarin.Forms」で「UI」が楽に実装できるので、ゲームに用途を限定しなければ、逆に役に立つ実装方法かもしれません。

Segmented Control FormsPluginとAndroidのバージョン

「NuGet」で取得できる「Segmented Control for Xamarin Forms 1.1.0」ですが、「Android API 15+」で使用できるとありますが、どうやらデバイスによっては動作しないようです。

segmentedcontrol
https://github.com/alexrainman/SegmentedControl

僕が試したのは「Android4.2(API 17)」の「Galaxy Nexus」ですが、エラーが出て動作しませんでした。
でも「Android 6.0(API 23)」のエミュレーターでは動作したので、「これは端末のバージョンに問題があるのでは?」と考え、親の「Android 4.4(API 19)」と「Android 5.0(API 21)」で試すとどちらも実行できました。
ただしAndroid 4.4では若干絵がずれていますが。
やはりAndroidも新しい機種を使わないと時代に乗り遅れるなあ、と思った次第です。

Xamarinでサウンドファイルが再生できない場合

XamarinStudioやVisualStudioでサウンドファイルが鳴らない場合の設定方法があります。
プロジェクトビューのサウンドファイルを右クリックメニューの「ビルドアクション」で「Content」を選ぶだけです。
そうすれば「CCSimpleAudioEngine.SharedEngine.PlayEffect」でサウンドが再生できるようになります。
これはiOSの場合だけで、Androidでは無理にこうしなくても鳴らすことができるようです。

Webサイト「Xamarin研究所」公開

Xamarin.Formsなどを解説する「Xamarin研究所」を開設しました。


http://xamarin.vixar.jp/

XamarinはiOS・Android・Windowsでスマホ向けなどにC#言語でクロスプラットフォームできる最新技術です。

XamarinではCocosSharpなどでゲームも作れますが、ツールを作るならゲームのように画像やサウンドの素材アセットがなくてもUIだけでアプリを完成させられるのがオールインワンでいいですね。

まだWebデザインは暫定的にこのようにシンプルなままです。

3Dツールの「ビクサー」、2Dツールの「ソフトウェア研究所」

以前までオリジナルのWindows用3D・2Dツールを公開していたVIXARから、2Dツールだけ「ソフトウェア研究所」に移転しました。


http://software.vixar.jp

でも元々VIXARは3Dがメインのサイトだったので、2Dツールはあまりパッとしません。

何でもあるホームページだと、訪問客が何のサイトかわかりにくいかな?と思ってジャンル別にホームページを分けて来ました。

本当はたくさんのコンテンツを作るより、優れた1つのコンテンツを徹底的にブラッシュアップできたほうがいいとは思いますが。

VisualStudio2015のC++でWindowsXP向けにビルド

Visual Studio 2015のC++言語では、ありがたいことにWindowsXP用に動作する実行ファイルをビルドすることが可能です。

C++向けのソリューションファイルを開き、ソリューションの「プロパティ」メニューで「構成プロパティ」→「全般」→「プラットフォームツールセット」で、以下の画像のように「Visual Studio 2015 – WindowsXP (v140_xp)」か「Visual Studio 2012 – WindowsXP (v110_xp)」を選んでビルドするだけです。

vcpp2015

ただし、開発環境であるVisual Studio 2015のIDEはWindows7 SP1以降でないと動作しません。

VisualStudio2015のAndroidデバイス認識

Visual Studio 2015でハイブリッドアプリ(HTML5アプリをスマホアプリに書き出すツール)を開発できる「Visual Studio Tools for Apache Cordova」は「Android4.0」の実機のデバイスでも認識しました。
多分もっと古いデバイスでも認識するかもしれません。
きっと処理能力が遅くてもHTML5アプリはスピードを要求されないためでしょう。

ところが「Visual C++ 2015のクロスプラットフォーム」では「Android4.4」以降でないと実機を認識しません。
これはAndroid NDKをC++で開発するのに最新の機能を使っているためだと思います。
ですから処理能力は非常に高いと思います。

VisualStudio2015のC++でWin・iOS・AndroidをCrossPlatform

Visual Studio 2015のC++言語で、「Universal Windows Platform (UWP)」「Android」「iOS」の3つのプラットフォームに、OpenGL ES 2でクロスプラットフォームできるプロジェクトテンプレートが公開されています。
http://blogs.msdn.com/b/vcblog/archive/2015/07/30/cross-platform-code-sharing-with-visual-c.aspx

ただし、まだ64bit対応していません。
iOSでは32ビットと64ビットの両方に対応している必要があります。そうしないとappストアに申請できません。

またこの3つのプラットフォームに対応したサウンドライブラリが、OpenSLでいいのか?何がいいのか?わかりません。

Visual Studio 2015からMacOSXのXcodeリモート接続

■はじめに

Visual Studio 2015では、Windows上からMacOSXにリモート接続してXcodeにソースを送ってiOSアプリをビルド・実行する事ができます。
「C++」の「Cross Platform」で利用できます。
なぜこんな面倒な事をするかというと、iOSアプリはMacOSX上で作成しなければならないというライセンス条項が有るからです。

■LAN接続

まずルーターでWindowsマシンとMacOSXマシンをLAN接続する必要があります。必ず有線LANがいいです。

■ここからMacOSX上の操作です。

「Apple ID」を取得します。

「Apple Developer Program」のアカウントを購入して下さい。2015年現在1年間12000円ぐらいです。

プログラミングツール「Xcode」を最新のものをApp Storeからダウンロードします。

「Xcode command line tools」を「ターミナル」アプリから「xcode-select –install」と入力してダウンロードします。

XcodeでiOSをApple IDでセットします。

実機のデバイスで動作テストするには「Provisioning Profile」を取得して下さい。

「Node.js」をダウンロードして下さい。できればバージョン「0.10」が望ましいです。

「ターミナル」アプリで「npm update -g npm@2.6.0」を実行してバージョン2.6の「npm」をダウンロードしてください。

「ターミナル」アプリで「npm install -g vcremote」を実行し、リモート接続する「vcremote」をダウンロードして下さい。

「ターミナル」アプリで「vcremote」を実行し、「ホスト」「ポート」「PIN」を取得して下さい。

「PIN」は10分間だけWindowsとMacOSXをリモート接続するパスワードです。再発行するには「ターミナル」アプリで「vcremote generateClientCert」を実行して下さい。

もしインターネットに接続せず、Wifiパスワードが完全なら、「ターミナル」アプリで「vcremote –secure false」で「PIN」なしで無制限にリモート接続できます。

「vcremote」を切断するには「ターミナル」アプリでキーボードの「Control」+「C」を押して下さい。

■ここからはWindows上の操作です。

「Visual Studio 2015」で、「ツール」→「オプション」メニューの「Cross Platform」→「C++」→「iOS」を開きます。

先ほどMacOSXで取得した、「ホスト」「ポート」「PIN(Secureをチェック)」を入力します。「Secure」を「false」にしている場合は「Secure」のチェックを外します。

「Pair」をクリックしてリモート接続を確認します。

「Remote Root」の「<user>」のところにOSXでのユーザー名を入力します。

「OK」します。

後は「Visual Studio 2015」で「新規作成」で「Visual C++」の「Cross Platform」で「OpenGLES Application」を作成して、ビルド・実行して下さい。

■この記事はInstall And Configure Tools to Build using iOSを参考にしています。