21日目 Unity 関数の中で他のスクリプトの関数を呼び出したいとき

お久しぶりです( ´∀` ) (誰も見てない)

本日は関数の受け渡しについて復習したいと思います。

 

例えば、、

スクリプトA

public PlayerManager player;
public EnemyManager enemy;

void Start()
    {
        player.Attack(enemy);  
        enemy.Attack(player);
    }

 

スクリプトB(PlayerManager)

public int at;

public void Attack(EnemyManager enemy) //関数の中でさらにEnemyManagerの中の関数を使う

{

       enemy.Damage(at); //PlayerManagerのatをEnemyManagerのDamageメソッドに渡す

}

 

こういうスクリプトがあるとします。

スクリプトBの関数の中でAで設定した他のメソッドを使うといった場合ですね。

まずはAの中でBのスクリプトを貼ったゲームオブジェクトを取得します。

 

あとはBの関数の引数を受け取る部分で、(EnemyManager enemy)このように関数ごと受け取ってしまいましょう!

 

スクリプトを3つ使用するという少し入り組んだ構造になっていますが、スクリプトAを中心に考えると分かりやすくなるかと思います。

 

勉強時間合計:34h