個人的なメモ 〜Cocos Sharp 情報を中心に‥

Tomohiro Suzuki @hiro128_777 のブログです。Cocos Sharp の事を中心に書いています。 Microsoft MVP for Visual Studio and Development Technologies 2017- 本ブログと所属組織の公式見解は関係ございません。

Xamarin

Prism Template Pack のインストール、Prism for Xamarin.Forms 適用済みのソリューションの作成方法

はじめに こんにちは、@hiro128_777です。CocosSharp.Forms でアプリを作成する場合、素の Xamarin.Forms ではなく、実際には Prism for Xamarin.Forms 適用済みのソリューションテンプレートを利用した方が何かと便利です。 そこで、今回は Prism Template…

「JXUGC #23 Xamarin 無料化一周年記念勉強会!」で発表させていただきました。

こんにちは、@hiro128_777です。タイトルの通り、2017/05/27(土)に、「JXUGC #23 Xamarin 無料化一周年記念勉強会!」で発表させていただきました。jxug.connpass.com 今回はゲーム以外で、Cocos Sharp を利用した動きがあるアプリの実例を発表させて頂き…

Cocos Sharp 画面遷移のアニメーション (2) CCTransitionFlipAngular

はじめに こんにちは、@hiro128_777です。 今回も、前回に引き続き Cocos Sharp の画面遷移の際のアニメーションについてご紹介します。前回は Fade 系のアニメーションをご紹介しました。 hiro128.hatenablog.jp今回は CCTransitionFlipAngular をご紹介し…

Cocos Sharp 画面遷移のアニメーション (1) Fade 系

はじめに こんにちは、@hiro128_777です。 今回は、Cocos Sharp 画面遷移の際のアニメーションについてご紹介します。画面遷移の際のアニメーションは非常にたくさんの種類がありますが、今回はその中から Fade 系の効果をご紹介します。 画面遷移の際のア…

Xamarin + Cocos Sharp で iOS, Android 対応のゲームを開発する手順 (6) 画面遷移 (Cocos Sharp 1.7 以降対応版)

はじめに こんにちは、@hiro128_777です。 今回は、Cocos Sharp 1.7 以降に対応した画面遷移の方法についてご説明します。※これから Cocos Sharp をはじめる方は 1.7 以降をご利用ください。既に、Cocos Sharp 1.6.2 をご利用の場合以下をご覧下さい。 hiro…

Xamarin + Cocos Sharp で iOS, Android 対応のゲームを開発する手順 (4) Android でタイトル画面を出す。 (Cocos Sharp 1.7 以降対応版)

はじめに こんにちは、@hiro128_777です。 今回は、Cocos Sharp 1.7 以降に対応した Android でタイトル画面を表示する方法についてご説明します。※これから Cocos Sharp をはじめる方は 1.7 以降をご利用ください。既に、Cocos Sharp 1.6.2 をご利用の場合…

Xamarin + Cocos Sharp で iOS, Android 対応のゲームを開発する手順 (3) iOS でタイトル画面を出す。 (Cocos Sharp 1.7 以降対応版)

はじめに こんにちは、@hiro128_777です。 今回は、Cocos Sharp 1.7 以降に対応した iOS でタイトル画面を表示する方法についてご説明します。※これから Cocos Sharp をはじめる方は 1.7 以降をご利用ください。既に、Cocos Sharp 1.6.2 をご利用の場合以下…

「JXUGC #22 最新事例&お前のアプリを説明してもらおうの会」で発表させていただきました。

こんにちは、@hiro128_777です。タイトルの通り、2017/01/28(土)に、「JXUGC #22 最新事例&お前のアプリを説明してもらおうの会」で発表させていただきました。jxug.connpass.com まだまだ、Cocos Sharp の認知度は少ないですが、アンケートでは「試して…

Xamarin + Cocos Sharp で iOS, Android 対応のゲームを開発する手順 (2) Cocos Sharp をインストールする (Cocos Sharp 1.7 以降対応版)

はじめに こんにちは、@hiro128_777です。 今回は、Cocos Sharp 1.7 以降に対応した Cocos Sharp をインストールする方法についてご説明します。※これから Cocos Sharp をはじめる方は 1.7 以降をご利用ください。 ※テンプレートを使用すれば手動でパッケー…

Cocos Sharp 入門 (3) DesignResolution について

はじめに こんにちは、@hiro128_777です。 今回は、Cocos Sharp でゲームを開発する上で大事な概念であるDesignResolutionについてご説明します。 モバイルデバイスでのゲームの解像度の問題 モバイルデバイスで2Dゲームを開発する場合、問題になるのがゲー…

Cocos Sharp 入門 (2) CCScene, CCLayer, CCSprite, CCLabel

はじめに こんにちは、@hiro128_777です。 今回は、Cocos Sharp の基本的なオブジェクトである、CCScene, CCLayer, CCSprite, CCLabel についてご説明します。 Cocos Sharp の画面の階層構造 Cocos Sharp の画面の階層構造は下の図のようになっています。CC…

Cocos Sharp 入門 (1) Cocos Sharp の概要およびメリット・デメリット

はじめに こんにちは、@hiro128_777です。 今回は、これから Cocos Sharp を導入しようかな~と検討している方もいらっしゃるかと思いますので、あらためて、Cocos Sharp の概要およびメリット・デメリットを整理したいと思います。 Cocos Sharp ってどんな…

CocosSharp for Xamarin.Forms で寿司を流そう!

はじめに こんにちは、@hiro128_777です。この記事は「Xamarin(その2) Advent Calendar 2016 - Qiita」の14日目になります。 今回やってみたこと 皆様 Xamarin.Forms というと業務アプリ的なイメージがあるかと思うのですが、なんと、CocosSharp for Xamari…

CocosSharp for Xamarin.Forms では、Xamarin.Forms 内のコントロールとしてCocos Sharp を使えます。

こんにちは、@hiro128_777です。実はCocos Sharpは、バージョン1.6.2までと1.7.1以降で大きな違いがあります。 以下のようにNuGetのパッケージも別パッケージとなっています。バージョン 1.6.2まで CocosSharp PCL ………………………………フルスクリーンでの使用が前…

Cocos Sharp Deep Dive(2) スケジューラ

今回は、Cocos Sharp の もう一つの重要な機能であるスケジューラがどのような内部動作をしているのかを深く解析したいと思います。スケジューラにメソッドを登録する場合には、以下のようにCCNodeのScheduleメソッドを使用します。 Schedule(t => this.Dete…

Cocos Sharp Deep Dive(1) CCAction

これまでCCMoveToや、CCRotateToなど個々のアクションの使い方をご説明しましたが、今回は、実際にこれらのアクションがどのような内部動作をしているのかを深く解析したいと思います。例えば、CCMoveToをはじめとする全てのアクションを利用する場合には以…

Cocos Sharp での基本的なゲームの制御の方法(5) フェードイン、フェードアウト。

今回はフェードイン、フェードアウトする方法についてご説明します。 フェードイン、フェードアウトすること自体は非常に簡単ですが、それぞれ1つずつ注意点があります。フェードイン、フェードアウトには以下のクラスを使用します。 public CCFadeIn(float …

Cocos Sharp での基本的なゲームの制御の方法(4) アクションにひも付けてメソッドを実行する。

はじめに こんにちは、@hiro128_777です。今回はアクションにひも付けてメソッドを実行する方法についてご説明します。 アクションにひも付けてメソッドを実行 アクションにひも付けてメソッドを実行するというのは具体的には、 ・オブジェクトのアクション…

Cocos Sharp での基本的なゲームの制御の方法(3) 連続したアクションを実行する。

はじめに こんにちは、@hiro128_777です。今回は連続したアクションの作成方法についてご説明します。 連続したアクションの実行 連続したアクションを実行するには、アクションを複数作成した上で、そのアクションを CCSequence に登録し、CCNode の RunAc…

Cocos Sharp での基本的なゲームの制御の方法(2) 代表的なアクションの種類

はじめに こんにちは、@hiro128_777です。今回も、Cocos Sharp での基本的なゲームの制御の方法をご説明します。前回の繰り返しになりますが、Cocos Sharp での基本的なゲームの制御の方法を理解するには以下の2つの概念を理解すれば大丈夫です。① スケジュ…

Cocos Sharp での基本的なゲームの制御の方法(1) スケジューラ

はじめに こんにちは、@hiro128_777です。今回は、Cocos Sharp での基本的なゲームの制御の方法をご説明します。 スケジューラとアクション 結論から言いますと、Cocos Sharp での基本的なゲームの制御の方法をマスターするには以下の2つの概念を理解すれば…

Xamarin + Cocos Sharp で iOS, Android 対応のゲームを開発する手順 (14) 当たり判定② 敵に当たった場合のアクションの作成

今回は自機が敵キャラに当たった時のアクションを作成します。具体的には、以下の処理を行ないます。 1. 自機に爆発するアニメーションを設定する。 2. 自機を画面上から削除する。まず、自機が爆発するアニメーションを作成します。アニメーションを作成す…

Xamarin + Cocos Sharp で iOS, Android 対応のゲームを開発する手順 (13) 当たり判定① 当たり判定を検出できるようにする。

今回は自機が敵キャラに当たった時の当たり判定を実装します。当たり判定を行なうには CCRect クラスの IntersectsRect メソッドを利用します。 public bool IntersectsRect(CCRect rect); CCRect が引数に与えられた CCRect と重なっている場合、true を返…

Xamarin + Cocos Sharp で iOS, Android 対応のゲームを開発する手順 (12) 敵キャラを移動させ、画面外に出たら消去する。

今回は画面をタッチして出した敵キャラを移動させ、画面外に出たら消去します。具体的には、画面タッチで出現させた敵キャラは、横移動はなしで画面の下に移動し、画面外に消えていく動きを作成します。キャラを移動する場合は、CCMoveTo で移動のアクション…

Xamarin + Cocos Sharp で iOS, Android 対応のゲームを開発する手順 (11) タッチした場所に敵キャラを出す

今回は画面をタッチした場所に敵キャラを出します。 なお、敵キャラが出るのは画面の上部 1/4 をタッチした場合のみです。まずは、敵キャラの画像をプロジェクトに追加します。CocosSharpGameSample.iOS プロジェクトに敵キャラの画像を追加します。Resource…

Xamarin + Cocos Sharp で iOS, Android 対応のゲームを開発する手順 (10) サンプルゲームの概要

ここまで、Cocos Sharp の基本をご説明してきましたが、ここから実際にサンプルゲームを作成していき、より実戦に即したゲーム作成についてご説明していきます。ゲームの概要ゲームプレイヤーは敵キャラを率いる超知性体となりの進撃を防ぎます。画面にタッ…

Xamarin iOS + Azure Storage の利用方法(1) ストレージ アカウントの作成

モバイルアプリのバックエンドにAzureを使用し、画像データなどを管理したい場合は、Azure Storageを利用できます。まず、Azureにストレージ アカウントを作成します。新規 → データ + ストレージ → ストレージ アカウントをクリックアカウントの情報を入力…

Xamarin iOS + Azure Mobile Apps の利用方法 (6) カスタム API に検索条件を付加してみる (Easy API)

第4回でViewの代わりにEasy APIでカスタムクエリの結果セットを取得しましたが、今回はさらに検索条件を設定できるようにします。まずは Azure ポータルにログインします。すべてのリソース → あなたが作成したWebApp → すべての設定 → Easy API をクリック…

Xamarin iOS + Azure Mobile Apps の利用方法 (5) Dynamic Schema をオフにする (Easy Tables)

実は、Azure の Easy Tables にはかな~り余計なお世話な機能がついています。その名も Dynamic Schema という機能です。これは、エンティティに設定されたプロパティがテーブル内に存在しないとき、自動的にテーブルにカラムを追加する機能です。この機能、…

Xamarin iOS + Azure Mobile Apps の利用方法 (4) View の代わりとなるカスタム API の作成 (Easy Tables, Easy API)

今回は、View の代わりとなる API を作成します。Easy Tables は簡単で素晴らしいんですが、簡便さを追求してるが故、JOIN したクエリの結果セットが欲しいというようなシナリオには対応していません。 さらに、Xamarin対応の Microsoft.WindowsAzure.Mobile…

Xamarin iOS + Azure Mobile Apps の利用方法 (3) テスト用データの登録 (Easy Tables)

今回は、後に View の代わりとなる API 作成のための準備として、Easy Tables でリレーション用のテーブルを作成し、作成したテーブルにテスト用データを登録します。まずは Azure ポータルにログインします。すべてのリソースからあなたの作成したWebAppを…

Xamarinを始める前に知っておきたいこと。 Xamarin Native と Xamarin.Forms どちらで開発すべきなのか?

JXUGC #13 東京 緊急開催 Xamarin のすべて!でお話した内容ですが、限られた時間でうまくお伝えできたか不安な部分を再度ご説明したいと思います。セッションのスライドはここです。今回は Xamarin Native と Xamarin.Forms どちらで開発すべきなのかを5つ…

Xamarinを始める前に知っておきたいこと。 Xamarinで何が時短できるのか? ②開発工数を時短!

JXUGC #13 東京 緊急開催 Xamarin のすべて!でお話した内容ですが、限られた時間でうまくお伝えできたか不安な部分を再度ご説明したいと思います。セッションのスライドはここです。今回は開発工数の時短についてご説明します。まずは、下の図をご覧くださ…

Xamarinを始める前に知っておきたいこと。 Xamarinで何が時短できるのか? ①知識の習得を時短!

JXUGC #13 東京 緊急開催 Xamarin のすべて!でお話した内容ですが、限られた時間でうまくお伝えできたか不安な部分を再度ご説明したいと思います。セッションのスライドはここです。Xamarin で iOS, Android のアプリを開発しようとするとき、既に、Objecti…

Xamarin + Cocos Sharp で iOS, Android 対応のゲームを開発する手順 (9) 加速度センサーの値でキャラクターを動かす。

今回は、加速度センサーの値を利用してキャラクターを動かしてみます。画面を傾けた方向に自機が動きます。 これでいよいよゲームっぽくなります。まずは、加速度センサーの値の取得を調整します。・画面を横向きにしているのでX軸、Y軸がてれこになります。…

Xamarin + Cocos Sharp で iOS, Android 対応のゲームを開発する手順 (8) Android で加速度センサーの値を取得する

今回は Android で加速度センサーの値を取得する方法です。iOS のときの繰り返しになりますが、 Cocos Sharp でも CCAccelerometer で加速度センサーの値を取得できますが、 この方法だと、センサーの値が遅延して取得されるという不具合があるので、 ネイテ…

Xamarin + Cocos Sharp で iOS, Android 対応のゲームを開発する手順 (7) iOS で加速度センサーの値を取得する

今回は iOS で加速度センサーの値を取得する方法です。Cocos Sharp でも CCAccelerometer で加速度センサーの値を取得できますが、 この方法だと、センサーの値が遅延して取得されるという不具合があるので、 ネイティブで取得したセンサーの値をグローバル…

Xamarin + Cocos Sharp で iOS, Android 対応のゲームを開発する手順 (6) 画面遷移

ご注意 こちらは、Cocos Sharp 1.6.2 までの場合の方法です。 Cocos Sharp 1.7.1 以上をお使いの場合、以下をご覧下さい。hiro128.hatenablog.jp 今回は画面遷移を行ないます。画像の配置以外は、PCLの中で完結する内容となります。タイトル画面上の「スター…

Xamarin iOS + Azure Mobile Apps の利用方法 (2) データベースの作成 (Easy Tables)

今回はすこし長くなります。まずはAzure ポータルにログインします。ダッシュボードの 「モバイルアプリ名(あなたの作成したアプリ名)」をクリックすします。設定 → モバイル → Easy Tables をクリックします。データベースがまだ無いので、下記のような表…

Xamarin + Cocos Sharp で iOS, Android 対応のゲームを開発する手順 (5) Android の実機では正常動作するが、エミュレータでは例外が発生する場合。

Xamarin + Cocos Sharp で 開発をしていると、Android の実機では正常動作しますが、下記の画像のように、エミュレータでは例外が発生する現象が起こる場合があります。エラーのトレースを詳しく見ていると、下記のように、Microsoft.Xna.Framework、つまり …

Xamarin iOS + Azure Mobile Apps の利用方法 (1) Mobile App の作成

Xamarin iOS から Azure Mobile Apps を利用する方法をメモします。まずはAzure ポータルにログインします。次にリソースグループを作成します。 「追加」ボタンをクリックします。リソースグループ名、サブスクリプション、リソースグループの場所を入力し…

Xamarin + Cocos Sharp で iOS, Android 対応のゲームを開発する手順 (4) Android でタイトル画面を出す。

ご注意 こちらは、Cocos Sharp 1.6.2 までの場合の方法です。 Cocos Sharp 1.7.1 以上をお使いの場合、以下をご覧下さい。hiro128.hatenablog.jp 今回は Android でタイトル画面を出します。まずは、AndroidのプロジェクトにPCLプロジェクトの参照を追加しま…

Xamarin + Cocos Sharp で iOS, Android 対応のゲームを開発する手順 (3) iOS でタイトル画面を出す。

ご注意 こちらは、Cocos Sharp 1.6.2 までの場合の方法です。 Cocos Sharp 1.7.1 以上をお使いの場合、以下をご覧下さい。hiro128.hatenablog.jp 今回は iOS でタイトル画面を出します。まずは、CocosSharpGameSample.iOS プロジェクトに CocosSharpGameSamp…

Xamarin + Cocos Sharp で iOS, Android 対応のゲームを開発する手順 (2) Cocos Sharp をインストールする

ご注意 こちらは、Cocos Sharp 1.6.2 までの場合の方法です。 Cocos Sharp 1.7.1 以上をお使いの場合、以下をご覧下さい。hiro128.hatenablog.jp 今回は Cocos Sharp をインストールします。ソリューションを右クリックし、ソリューションの NuGet パッケー…

Xamarin + Cocos Sharp で iOS, Android 対応のゲームを開発する手順 (1) ソリューション・プロジェクトを作成する

Xamarin + Cocos Sharp で iOS, Android 対応のゲームを開発する手順をメモします。最初にソリューションを作成します。ソリューションの中には以下の3つのプロジェクトを作成します。① 共用のPCLゲームロジックプロジェクト ② iOS用プロジェクト ③ Android…

Xamarin Android で画面の回転を抑制し向きを固定したいときには

Xamarin Androidで画面の回転を抑制し画面の向きを固定する方法がわからずハマったのでメモしておきます。Androidで画面の向きを固定したいときには、固定したい Activity の RequestedOrientation プロパティを override し 必ず固定したい向きの ScreenOri…

Xamarin iOSでとにかく簡単に画面の回転を抑制しすべての画面の向きを固定したいときには

iOSで画面の回転を抑制し、とにかく簡単にすべての画面の向きを固定したいときには AppDelegate に Export 属性付きで、GetSupportedInterfaceOrientationsメソッドを実装します。 これで、アプリケーション内のどの UiViewController からも AppDelegate の…

Xamarin UIWebViewが真っ白になり何も表示されない。(App Transport Security)

UIWebViewでWebサイトを表示しようとしても画面がが真っ白になり何も表示されないので調べてみたら、 iOS 9以上で動かした場合はHTTP接続はブロックされてしまうことがわかりました。App Transport Security has blocked a cleartext HTTP (http://) resourc…

Xamarin Mvvm Cross iOSのデフォルトの画面遷移アニメーションを変更する

Xamarin + Mvvm Cross で iOSのデフォルトの画面遷移アニメーションを変更する方法で詰まりましたのでメモしておきます。Mvvm Crossで画面遷移する場合、MvxNavigatingObjectクラスのShowViewModelメソッドを使います。Mvvm Cross のソースコードを参照した…