超初心者のゲーム開発記~Unity~

超初心者がUnityでゲーム(目標はAndroidアプリ )を開発していくブログです!

【Unity 2Dローグライク】公式チュートリアルをやってみる part.8~壊せる壁の作り方

こんばんは!ヤギです!

Unityの2Dローグライクの
公式チュートリアルをやってみる part.8になります!
※前回(part.7)の記事はこちら
www.yagigame.com

記事概要

今回の記事では、壊せる壁の作り方についてご説明していきます。
※part.8に対応する公式チュートリアルの章は、Creating Destructible Wallsです!
unity3d.com
※この記事は、ひよこのたまご様の記事をリスペクトしています。
hiyotama.hatenablog.com

壊せる壁のスクリプトの作成

1. Wall.csを作成します。
2. ソースを書いていきます。
※解説をコード内に記載いたしました。ご参照ください。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Wall : MonoBehaviour {

    //sprite = 画像
    public Sprite dmgSprite; //攻撃された時の壁の画像
    public int hp = 4; //壁のHP

    private SpriteRenderer spriteRenderer; // 画像を表示するコンポーネント

	// Use this for initialization
	void Awake () {
        //コンポーネントを読み込む
        spriteRenderer = GetComponent<SpriteRenderer>();
	}
	
    //壁が攻撃されたときに呼ばれる
    public void DamageWall(int loss){
        //攻撃された時の画像を表示
        spriteRenderer.sprite = dmgSprite;

        //HPを減らす
        hp -= loss;

        //hpが0以下になった場合
        if(hp <= 0){
            //壁を無効にする
            gameObject.SetActive(false);
        }
    }
}

壁にスクリプトを適用する

1. Prefabsフォルダを開きます。
2. Wall(1~8)を選択し、Add Componentをクリックします。
f:id:yagigame:20181103142638p:plain
3. Wallを選択し、アタッチします。
f:id:yagigame:20181103142841p:plain
※これで全てのWall Prefabに、Wall.csのスクリプトが適用されました。
f:id:yagigame:20181103142853p:plain
4. Wall1 > Wall(Script) > Dmg SpriteにScavengers_SpriteSeet_48を設定します。
f:id:yagigame:20181103143030p:plain
5. Wall2にScavengers_SpriteSeet_49を、同様にWall3からWall8にScavengers_SpriteSeet_50以降を設定します。

これで、壊れる壁の設定は完了です。

次回予告

次回の記事では、プレイヤーのアニメーションの設定について書いていきたいと思います。
※Unityのチュートリアルの章としては、次回は(Player Animator Controller)となります!

読んでいただきありがとうございました!