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

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

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 ポータルにログインします。次にリソースグループを作成します。 「追加」ボタンをクリックします。リソースグループ名、サブスクリプション、リソースグループの場所を入力し…

ASP.NET ButtonコントロールにおけるOnClientClickによる確認ダイアログとValidatorの順番を調整する。

ASP.NETのButtonコントロールでOnClientClickによる確認ダイアログとValidatorを併用した場合、確認ダイアログでOKを押した後、Validatorが走るという悲しい状況になってしまいます。これを解消するために、Buttonコントロールを拡張しました。自動生成され…

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

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