ご注意
こちらは、Cocos Sharp 1.6.2 までの場合の方法です。
Cocos Sharp 1.7.1 以上をお使いの場合、以下をご覧下さい。
今回は iOS でタイトル画面を出します。
まずは、CocosSharpGameSample.iOS プロジェクトに CocosSharpGameSample.Core プロジェクトの参照を追加します。
CocosSharpGameSample.iOS プロジェクトの参照設定を右クリックし、参照の追加をクリックします。
CocosSharpGameSample.Core にチェックを入れ、OKをクリックします。
次に CocosSharpGameSample.iOS プロジェクトの Resources/Images/Background にタイトル画面の画像を配置します。
画像ファイルのビルドアクションは「BundleResource」にします。
次に CocosSharpGameSample.Core プロジェクトの Layers に TitleLayer.cs を追加します。
TitleLayer.cs では、画面にタイトル画像を配置します。
using CocosSharp; namespace CocosSharpGameSample.Core { public class TitleLayer : CCLayerColor { public TitleLayer() : base() { } protected override void AddedToScene() { base.AddedToScene(); // タイトル画像を配置 var title = new CCSprite("/Resources/Images/Background/TitleBackground.png", null); title.Position = new CCPoint(this.ContentSize.Center.X, this.ContentSize.Center.Y); AddChild(title); } } }
次に CocosSharpGameSample.Core プロジェクトの ルートに SampleGameApplicationDelegate.cs を追加します。
SampleGameApplicationDelegate.cs では、
ゲーム上の仮想解像度であるデザイン解像度の設定、
シーンにタイトル画面の作成、セット、
アプリケーションの一時停止、再開時の処理を行ないます。
using CocosDenshion; using CocosSharp; namespace CocosSharpGameSample.Core { public class SampleGameApplicationDelegate : CCApplicationDelegate { public override void ApplicationDidFinishLaunching(CCApplication application, CCWindow mainWindow) { // デザイン解像度設定 CCScene.SetDefaultDesignResolution(1280f, 720f, CCSceneResolutionPolicy.ShowAll); // シーンにタイトル画面の作成、セット var scene = new CCScene(mainWindow); var titleLayer = new TitleLayer(); scene.AddChild(titleLayer); // シーン開始 mainWindow.RunWithScene(scene); } public override void ApplicationDidEnterBackground(CCApplication application) { // アプリケーションを一時停止する application.Paused = true; // BGMを一時停止する CCSimpleAudioEngine.SharedEngine.PauseBackgroundMusic(); } public override void ApplicationWillEnterForeground(CCApplication application) { // アプリケーションを再開する application.Paused = false; // BGMを再開する CCSimpleAudioEngine.SharedEngine.ResumeBackgroundMusic(); } } }
最後に CocosSharpGameSample.iOS プロジェクトの AppDelegate.cs を変更し
ゲームの起動を行い、画面の向きを LandscapeLeft に固定します。
using System; using Foundation; using UIKit; using CocosSharp; using CocosSharpGameSample.Core; namespace CocosSharpGameSample.iOS { [Register("AppDelegate")] public partial class AppDelegate : UIApplicationDelegate { public override bool FinishedLaunching(UIApplication app, NSDictionary options) { // ゲームをを起動する。 var application = new CCApplication(); application.ApplicationDelegate = new SampleGameApplicationDelegate(); application.StartGame(); return true; } // 画面の向きを LandscapeLeft に固定 [Export("application:supportedInterfaceOrientationsForWindow:")] public UIInterfaceOrientationMask GetSupportedInterfaceOrientations(UIApplication application, IntPtr forWindow) { return UIInterfaceOrientationMask.LandscapeLeft; } } }
以上でプログラムが完成しましたので、Debug で起動するとタイトル画面が表示されます。
今回はここまでです。