静的な変数、メソッド、クラスの作り方

確認済のバージョン: 4.1

-

難易度: 中級

静的な変数、メソッド、クラスの作り方を学びます。

静的な変数、メソッド、クラスの作り方

中級 Scripting

Enemy

Code snippet

using UnityEngine;
using System.Collections;

public class Enemy
{
    //静的変数はクラスのすべてのインスタンスに共有されます
    public static int enemyCount = 0;
    
    public Enemy()
    {
        //このクラスのオブジェクトがいくつ作成されたかを知るために、
        //静的変数をインクリメントします
        enemyCount++;
    }
}
#pragma strict

public class Enemy
{
    //静的変数はクラスのすべてのインスタンスに共有されます
    public static var enemyCount : int = 0;
    
    function Enemy()
    {
        //このクラスのオブジェクトがいくつ作成されたかを知るために、
        //静的変数をインクリメントします
        enemyCount++;
    }
}
import UnityEngine
import System.Collections


public class Enemy:

    //静的変数はクラスのすべてのインスタンスに共有されます
    public static enemyCount = 0

    
    public def constructor():
        //このクラスのオブジェクトがいくつ作成されたかを知るために、
        //静的変数をインクリメントします
        enemyCount += 1

Game

Code snippet

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;
    }
}
#pragma strict

public class Game
{
    function Start () 
    {
        var enemy1 = new Enemy();
        var enemy2 = new Enemy();
        var enemy3 = new Enemy();
        
        //クラス名とドットオペレーターを使って
        //静的変数にアクセスできます
        var x : int = Enemy.enemyCount;
    }
}
import UnityEngine
import System.Collections


public class Game:

    private def Start():
        enemy1 = Enemy()
        enemy2 = Enemy()
        enemy3 = Enemy()
        
        //クラス名とドットオペレーターを使って
        //静的変数にアクセスできます
        x as int = Enemy.enemyCount

Player

Code snippet

using UnityEngine;
using System.Collections;

public class Player : MonoBehaviour 
{
    //静的変数はクラスのすべてのインスタンスによって共有されます
    public static int playerCount = 0;
    
    void Start()
    {
        //このクラスのオブジェクトがいくつ作成されたかを知るために、
        //静的変数をインクリメントします
        playerCount++;
    }
}
#pragma strict

public class Player extends MonoBehaviour 
{
    //静的変数はクラスのすべてのインスタンスによって共有されます
    public static var playerCount : int = 0;
    
    function Start()
    {
            //このクラスのオブジェクトがいくつ作成されたかを知るために、
        //静的変数をインクリメントします
        playerCount++;
    }
}
import UnityEngine
import System.Collections


public class Player(MonoBehaviour):

    //静的変数はクラスのすべてのインスタンスによって共有されます 
    public static playerCount = 0

    
    private def Start():
        //このクラスのオブジェクトがいくつ作成されたかを知るために、
        //静的変数をインクリメントします
        playerCount += 1

PlayerManager

Code snippet

using UnityEngine;
using System.Collections;

public class PlayerManager : MonoBehaviour 
{
    void Start()
    {
        //クラス名とドットオペレーターを使って
        //静的変数にアクセスできます
        int x = Player.playerCount;
    }
}
#pragma strict

function Start () 
{
    //クラス名とドットオペレーターを使って
 //静的変数にアクセスできます
    var x : int = Player.playerCount;
}
import UnityEngine
import System.Collections


public class PlayerManager(MonoBehaviour):

    private def Start():
        //クラス名とドットオペレーターを使って
        //静的変数にアクセスできます
        x as int = Player.playerCount

Utilities

Code snippet

using UnityEngine;
using System.Collections;

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

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


public static class Utilities:

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

UtilitiesExample

Code snippet

using UnityEngine;
using System.Collections;

public class UtilitiesExample : MonoBehaviour 
{
    void Start()
    {
        //クラス名とドットオペレーターを使って
        //静的変数にアクセスできます
        int x = Utilities.Add (5, 6);
    }
}
#pragma strict

function Start () 
{
    //クラス名とドットオペレーターを使って
        //静的変数にアクセスできます
    var x : int = Utilities.Add (5, 6);
}
import UnityEngine
import System.Collections


public class UtilitiesExample(MonoBehaviour):

    private def Start():
        //クラス名とドットオペレーターを使って
        //静的変数にアクセスできます
        x as int = Utilities.Add(5, 6)