はじめに
こんにちは、@hiro128_777です。
今回は、Cocos Sharp 1.7 以降に対応した Android でタイトル画面を表示する方法についてご説明します。
※これから Cocos Sharp をはじめる方は 1.7 以降をご利用ください。
既に、Cocos Sharp 1.6.2 をご利用の場合以下をご覧下さい。
hiro128.hatenablog.jp
Android でタイトル画面を表示する方法
まずは、CocosSharpGameSample.Android のプロジェクトに CocosSharpGameSample.Core プロジェクトの参照を追加します。
CocosSharpGameSample.Android プロジェクトの参照設定を右クリックし、参照の追加をクリックします。
CocosSharpGameSample.Core にチェックを入れ、OKをクリックします。
次に CocosSharpGameSample.Android プロジェクトの Assets/Images/Title/ にタイトル画面の画像を配置します。
画像ファイルのビルドアクションは「AndroidAsset」にします。
↑この画像を使っています。
ゲームロジックは共用なので作成不要!
ゲームロジックは CocosSharpGameSample.Core プロジェクトにすでに作成済みのものを共用しますので作成不要です。
※Cocos Sharp では起動部分以外は共用できます!便利ですね!
Android のプロジェクトにゲーム起動のコードを記述
最後に CocosSharpGameSample.Android プロジェクトの MainActivity.cs を変更し
アプリの起動時に、ゲーム画面を含むUIが表示されるようにします。
using Android.App; using Android.Content.PM; using Android.OS; using Android.Views; using Android.Widget; using CocosSharp; using CocosSharpGameSample.Core; namespace CocosSharpGameSample.Android { [Activity(Label = "CocosSharpGameSample.Android" , MainLauncher = true , Icon = "@drawable/icon" , AlwaysRetainTaskState = true , LaunchMode = LaunchMode.SingleInstance , ConfigurationChanges = ConfigChanges.Orientation | ConfigChanges.Keyboard | ConfigChanges.KeyboardHidden )] public class MainActivity : Activity { protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); // タイトルを非表示にする RequestWindowFeature(WindowFeatures.NoTitle); var linearLayout = new LinearLayout(this) { Orientation = Orientation.Vertical }; // ゲーム表示用コントロール作成 var gameView = new CCGameView(this); // ゲーム起動 if (gameView != null) gameView.ViewCreated += GameDelegate.LoadGame; linearLayout.AddView(gameView); SetContentView(linearLayout); } } }
以上でプログラムが完成しましたので、Debug - Any Cpuで起動するとタイトル画面が表示されます。
繰り返しになりますが、アプリケーションの起動部分以外は共用できますので iOS 版が作成済みの場合、非常に簡単に Android 版が作成できます。
今回はここまでです。