static 修飾子

Tutorial

intermediate

+0XP

5 mins

(21)

Unity Technologies

static 修飾子

静的な変数、メソッド、およびクラスを作成する方法を学びます。

Languages available:

1. static 修飾子

Enemy クラスのコード

using UnityEngine;
using System.Collections;

public class Enemy
{
    // 静的変数は、クラスのすべてのインスタンスで共有されます。
    public static int enemyCount = 0;

    public Enemy()
    {
        // 静的変数をインクリメントして、このクラスの
        // オブジェクトがいくつ作成されたかを記憶します。
        enemyCount++;
    }
}

Game クラスのコード

using UnityEngine;
using System.Collections;

public class Game
{
    void Start () 
    {
        Enemy enemy1 = new Enemy();
        Enemy enemy2 = new Enemy();
        Enemy enemy3 = new Enemy();

        // クラス名とドット(.)演算子を使用して静的変数にアクセスできます。
        int x = Enemy.enemyCount;
    }
}

Player クラスのコード

using UnityEngine;
using System.Collections;

public class Player : MonoBehaviour 
{
    // 静的変数は、クラスのすべてのインスタンスで共有されます。
    public static int playerCount = 0;

    void Start()
    {
        // 静的変数をインクリメントして、このクラスの
        // オブジェクトがいくつ作成されたかを記憶します。
        playerCount++;
    }
}

PlayerManager クラスのコード

using UnityEngine;
using System.Collections;

public class PlayerManager : MonoBehaviour 
{
    void Start()
    {
        // クラス名とドット(.)演算子を使用して静的変数にアクセスできます。
        int x = Player.playerCount;
    }
}

Utilities クラスのコード

using UnityEngine;
using System.Collections;

public static class Utilities 
{
    // 静的メソッドは、クラスのオブジェクトなしで呼び出すことができます。
    // 静的メソッドは静的でないメンバー変数にアクセスできないことに注意してください。
    public static int Add(int num1, int num2)
    {
        return num1 + num2;
    }
}

UtilitiesExample クラスのコード

using UnityEngine;
using System.Collections;

public class UtilitiesExample : MonoBehaviour 
{
    void Start()
    {
        // クラス名とドット(.)演算子を使用して静的変数にアクセスできます。
        int x = Utilities.Add (5, 6);
    }
}

Complete this Tutorial