スポンサーリンク

Unity5の教科書をやってみる(6)Chapter5その2

前回の続き。

http://twosquirrel.mints.ne.jp/?p=11914

(環境)
Windows8.1
Unity 5.4.3f

続きをする。

(1)Prefab(設計図)の作成

「arrow」をPrefabとして登録。

image image

image image

image

(2)ジェネレータスクリプトを作る

Create > C# Script , ArrowGenerator.cs

image image

image image

image image

(3)ジェネレータスクリプトにPrefabを渡す。

上記の本の、重要ポイントらしいことを以下にコピペするが、いまいち、私にはわからない。

★アウトレット接続
①スクリプト側にコンセントの差込口を作るため、スクリプト変数の前にpublic指定子をつける
②public指定子をつけた変数がインスペクタから見えるようになる
③代入したいオブジェクトをインスペクタの差込口に(drug & dropして)差し込む

image image

image

ちゃんと矢が降ってきた。何をやっているのかよく分からないが、すごい。。。

(4)uGUIで、UIを表示

ヒエラルキービューで、Create > UI > Image

image image

image image

image image

image image

(5)UIを更新する流れ

GameDirector.cs

image image

image image

ArrowControllerの修正

image image

たしかに、矢がplayerに当たると、ゲージが減っていく。

(6)スマホ用に、uGUIでボタンを作る

image image

image image

PlayerControllerの修正

image image

image image

image image

image

うむ、いいんじゃないだろうか。

(7)Android用アプリの作成

image image

恒例のスクリプト(ホームメニューボタンの追加と、バックボタンでアプリ終了)追加

GameDirector.cs

image

using UnityEngine;
using System.Collections;
using UnityEngine.UI;

public class GameDirector : MonoBehaviour {

    GameObject hpGage;
    
    void Start () {
        Screen.fullScreen = false;
        this.hpGage = GameObject.Find("hpGage");
    }

    public void DecreaseHp() {
        this.hpGage.GetComponent<Image>().fillAmount -= 0.1f; 
    }

    void Update() {
        // プラットフォームがアンドロイドかチェック
        if (Application.platform == RuntimePlatform.Android) {
            // エスケープキーを取得
            if (Input.GetKeyDown(KeyCode.Escape))
            {
                // アプリケーション終了
                Application.Quit();
                return;
            }
        }
    } 
}

 

(8)実機で試してみる。

Screenshot_2016-12-01-23-07-48

なんか矢印ボタンが小さすぎる。大きくしてみた。

image image

うむ。

Screenshot_2016-12-01-23-30-09

下記の本を写経しているだけだが、自分がかいたプログラムがスマホで動くのは、本当に楽しい!

スポンサーリンク

Unity

Posted by twosquirrel