15. ゲーム開発(3/3)

ゲーム開発のひな型プロジェクト:

これまでの作業結果を mobile_system_3112789e というフォルダで、レポートフォルダに置いておきます。

■ Unity の Version up について

使用する Asset が、最新版のユニティ Unity 4.6~ にしか対応していない場合、演習室の Unity を最新版に更新しますので、申し出てください。

【お知らせ】 Unity 4.6 には GUI の作成・編集機能が付きます。 http://tsubakit1.hateblo.jp/entry/20140609/1402242586 Unityの新GUI、uGUIはどうなる?こうなる!

■ スマフォ版のデバッグについて

バーチャルパッドを画面に配置して、操作用コードを CrossPlatformInput に切り替えると、キーボードからの操作が受け付けられず、

パソコン上でキャラクターの動作確認ができなくなります。

Unity のメニューの Mobile Input から、バーチャルパッドの ON/OFF が切り替えができます。

バーチャルパッドをOFFにすると、キーボードでキャラクターが操作できるようになります。

これで、いちいち実機にアプリをDLして動作確認する手間を省くことができます。

■ 練習課題のゲームのUI調整のヒント

今回の講義では、Sample Asset の Mobile device control 用の Prefab の中の

Mobile Single Stick Control Rig で バーチャルジョイスティック + JUMP ボタンを表示して操作

で、対応しましたが、

Mobile Character Control Rig

に切り替えると、操作性を向上させることができそうです。

(手順)

・Mobile Single Stick Control Rig をインスペクターのチェックボックスをOFFにして非機能にする。

・Mobile Character Control Rig を Assets から hierarchyに配置する。

・Turn Area Label の非表示

・Turn Swipe Touchpad の非表示

・Move Touchpad の非表示

・MoveTouch Area のサイズ調整( GUITexture の Pixel Inset の W など)

Mobile Character Control Rig は基本的に、3Dのステージ上のFPSタイプのゲームキャラクターの操作ができるようになっています。

Game実行画面上に表示される、Move Touch Area でキャラクターの左右方向の動きを

操作する場合、タッチ領域上のスライド操作 が キー入力の方向 として扱われるようになるので、次のコードで、キャラクターの動きをコントロール可能です。

// キーの入力方向を取得する

float horizontal = CrossPlatformInput.GetAxis ("Horizontal");

this._moveCharactor (Vector2.right * _horizontalForce * horizontal);

その他)

Unityのゲームにスマホ向けなバーチャルパッドを追加する(Unity 4.6仕様) http://tsubakit1.hateblo.jp/entry/2014/10/09/035003

シーン遷移(画面切り替え) に効果をつける → unity scene Transition で検索

一定時間経過後に、何かの処理を行う。 → unity コルーチン で検索 http://wonderpla.net/blog/engineer/Unity_Co-routine/

ゲーム画面の一時停止 http://tsubakit1.hateblo.jp/entry/20130912/1378922383

Animation 機能で、Sprite に動きを設定する。 http://0310unity.hateblo.jp/entry/unity_animation_basic

サウンド再生 http://marupeke296.com/UNI_SND_No1_Basic.html 効果音の再生 http://marupeke296.com/UNI_SND_No2_Trigger.html

例)

ジャンプ音の追加:

音声ファイルを ゲーム用のフリー素材などで準備します。

素材ファイルを Assets にドラッグ&ドロップで登録。

さらに、Charactor オブジェクトの Inspector から Add componet で、 Audio Source コンポーネントを

キャラクターに追加します。

コードの修正:

CharactorManager.cs に

    AudioSource audioSource; // 音源の準備

void Start ()

{

audioSource = this.GetComponent<AudioSource>(); // 音源の初期化

ジャンプしたタイミングで音声再生のコードを追加

public void OnCollisionExit2D (Collision2D col)

{

this._collisionList.Remove (col.gameObject);


if (this._collisionList.Count == 0) {

this._isJumping = true;

audioSource.Play();

}

    }