top of page

スイカゲーム風「ベジタブルゲーム」の作り方 Vol.05

スイカゲーム風「ベジタブルゲーム」の作り方、5回目です。

今回はクレーンが野菜を離したときに、閉じているクレーンの画像から開いたクレーンの画像に切り替わる処理を行います。今回の動きはゲームの流れ、シナリオには影響しませんので、スキップして頂いても結構です。

ユニティルーム サンプルの投稿ゲーム

ファイブボックス作成 スイカゲーム風、ベジタブルゲームイメージ画像


クレーン のリリースアニメーション


5.1 素材配列の用意


新たにSprit型の配列を用意します。

配列名

アクセス

説明

craneImg

Sprite

[SerializeField]

アームが閉じたクレーンの画像と開いた画像

また、SpriteRendererコンポーネントを操作するので、その変数も用意します。

変数名

アクセス

説明

sr

SpriteRenderer

private

SpriteRendererコンポーネント型の変数


CraneController.cs

[SerializeField] Sprite[] craneImg; //クレーンの画像配列
SpriteRenderer sr;  //SpriteRenderer型の変数

void Start()
{
    //記載済みコード省略
    sr = GetComponent<SpriteRenderer>();   //SpriteRendererコンポーネントを取得し代入
    sr.sprite = craneImg[0];               //画像の初期値を閉じたクレーン画像に
}

Crane の Inspectorで宣言した配列の1番目にクレーンの閉じた画像、2番目に開いた画像をそれぞれセットします。

スイカゲーム風ベジタブルゲームの作り方 クレーン画像配列の指定

5.2 画像変更のプログラム


クレーンは通常閉じていて、野菜を離した瞬間に開き、0.5秒後に閉じるといったフローになります。時間を管理するのでコルーチンで作成します。


CraneController.cs

IEnumerator CraneOpen()
{
    sr.sprite = craneImg[1];                //開いた画像
    yield return new WaitForSeconds(0.5f);  //0.5秒待機
    sr.sprite = craneImg[0];                //閉じた画像
}

作成した関数は、作成済みの 関数:Release(InputAction.CallbackContext context) で野菜を離したタイミングで発動します。


CraneController.cs

public void Release(InputAction.CallbackContext context)
{   /*前半記述済み
    if (context.performed && transform.childCount == 1)
    {
        //省略
        if( 省略 )
        {
            //省略
            StartCoroutine(tray.transform.GetChild(0).
          GetComponent<VegetableManager>().SetCrane()); 
       上記記述済み*/
            StartCoroutine(CraneOpen());  //コルーチンの呼び出し
        }
    }
}

これでクレーンのアニメーションが完成しました。


「VegetablGameの作り方」その他の記事はこちらから




 

ファイブボックスでは、Unityの個別指導のオンラインレッスンを行っています。

ご興味のある方は当サイト、オンラインレッスンから、無料体験授業へお問い合わせ下さい。


最新記事

すべて表示

Comments


ファイブボックス 上田教室

bottom of page