ファイブボックスベジタブルゲームの作り方のサムネイル画像

スイカゲーム風「ベジタブルゲーム」の作り方 Vol.05 - ファイブボックス

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

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

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

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

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

「ベジタブルゲームの作り方」その他の記事はこちらから

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

素材配列の用意

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

配列名アクセス説明
craneImgSprite[SerializeField]アームが閉じたクレーンの画像と開いた画像

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

変数名アクセス説明
srSpriteRendererprivateSpriteRendererコンポーネント型の変数

CraneCintroller にプログラムを追記します。

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

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

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

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

画像変更のプログラム

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

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

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

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

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

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

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

TOP