14. ゲーム開発(2/3)

■ Unity 2D で作成したアプリをスマフォのタッチパネル操作に最適化するための情報の紹介。

Unity でスマートフォンゲーム制作を行うのに良さそうな情報とか スマフォ向けの最適化に関する記事へのリンク集。 タッチイベント対応 Asset の紹介など。

タッチ操作を簡単実装!Input.Touches 有償のAsset Input.Touches を利用したアプリ作成の例

【アプリ開発】Unity – InputTouchesを使ってスワイプ入力情報を取得する

【Unity】タッチ処理を検出する。 画面のどこを触っても タッチイベントとして処理するための コード を掲載

Flicking, Shooting, Throwing, Tossing, Lobbing, Slicing script. 各種タッチパネル操作に対応した C# コードを掲載

Unityを使ったアプリ開発の講義 http://vga-unity.github.io/gp11/2011/11/02/GP11-05.html

ゲーム制作入門1~4 のアプリに適用した例)

Hierarchy に登録されている

Mobile_Single_Stick_Control Rig を削除

GameManager.cs の修正

        CrossPlatformInput.GetButtonDown("Jump")

// 画面のどこをタッチしてもジャンプ

if (Input.touchCount > 0 && this._charactorScript.isJumping == false) {

Touch touch = Input.GetTouch(0);

if(touch.phase == TouchPhase.Began){

this._moveCharactor (Vector2.up * _upForce);

}

}

どこをタッチしても、ジャンプするようになる。

→ 問題点 方向転換のタッチでもジャンプする

■ シーンの追加

スタート画面

ステージ1

ステージ2

終了画面

の様なシーンを構成するには、Scene に名前を付けて保存しておきます。

同じようなシーン(ステージ1 2 3 ...) については、元となるシーンを繰り返し別名で保存して、シーンのコピーをしておき、それ元に新たなシーンを編集するとよいでしょう。

最後に、 Unity の Project Setting でアプリに必要なシーンを全て登録し(ドラッグ&ドロップ)、スタートのシーンを指定して、ビルドします。

■ ゲームの仕掛けの追加

衝突判定

判定対象のゲームオブジェクトに、タグの設定します。

オブジェクトの Inspector の Tag に名前を設定する。

if (col.gameObject.tag == "TagName") {

        // 衝突時の処理

}

スクロール処理

シーン遷移

Application.LoadLevel("Scene Name");

例) ゲームステージの ドア オブジェクトに接触したら次のステージへ

CharactorManager.cs の修正

public void OnCollisionEnter2D (Collision2D col)

{

this._collisionList.Add (col.gameObject);


this._isJumping = false;


if (col.gameObject.tag == "door") {

        // 衝突時の処理

Application.LoadLevel("Stage2");

}

}