未来を創る、テックコミュニティー

代表技術通信~Unityのことをちゃんと勉強する④ Unity用にC#勉強(2)

草場代表
2020/09/30

こんばんは。代表の草場です。

前回の記事の続きです。「【連載】Unityで学ぶC#入門」です。
第四回の「[第4回] 変数の使い方を学ぶ|Unityで学ぶC#入門」は難しくないので飛ばします。
第五回の「[第5回] 演算子の使い方を学ぶ|Unityで学ぶC#入門」も飛ばし。

[第6回] if文を利用した条件分岐を学ぶ|Unityで学ぶC#入門」は軽く。よくあるif文と同じ。

// Start is called before the first frame update
void Start()
{
        //駐車時間を決定
        time = 30;
        //駐車時間が60分以下のとき
        if(time <= 60){
            //料金は1000円
            fee = 1000;
        }
        //駐車時間が120分以下のとき
        else if(time <= 120){
            //料金は1500円
            fee = 1500;
        }
        //駐車時間が180分以下のとき
        else if(time <= 180){
            //料金は2000円
            fee = 2000;
        }
        //駐車時間が上記以外のとき
        else{
            //料金は2500円
            fee = 2500;
        }
        //駐車料金を出力
        Debug.Log("駐車料金は[" + fee + "円]です");
}
第七回「[第7回] メソッドの使い方を学ぶ|Unityで学ぶC#入門」はよくある関数の話。
//メソッドY,引数x,返り値z
int Y(int x)
{
     int z;
     //xの2乗を計算 z = x * x;
     //変数zを返す
     return z;

}

うむ、簡単。
int Y (int x)
が、返り値の型がint型のメソッドYで、引数がint型のxであることを意味します。これをStart関数で呼び出す感じです。簡単。

[第8回] for文を利用したループを学ぶ|Unityで学ぶC#入門も簡単。
[第9回] switch文を利用した条件分岐を学ぶ|Unityで学ぶC#入門も簡単。自分自身の名前を「gameObject.name」で取得可能。
gameObject.GetComponent<Renderer>().material.color = Color.red;
で、自分自身を指す「gameObject」から「Renderer」コンポーネントを取得し、その中の「material」の「color」を指定しています。

[第10回] 配列の使い方を学ぶ|Unityで学ぶC#入門は配列に関してですが、書き方を注意するのみ。
変数型[] 変数名 = new 変数型[配列の数];
です。例えば、
int[] numbers = new int[10];
は、int型で変数10個の値を持つ配列の生成です。
「new string[] {代入したい値}」とすることで初期値を与えることができます。初期値として代入したい値の数を参考して配列の長さを決定することができるため、[]の中に数値を記述していません。以下の感じ。
names = new string[] {"Ichiro","Jiro","Saburo","Shiro","Goro"};

[第11回] アクセス修飾子の使い方を学ぶ|Unityで学ぶC#入門は、よく理解する必要アリです。

アクセス修飾子を学ぶことでプログラムの単純なミスや、不正なアクセスを防ぐことができるようになるそうです。

アクセス修飾子とは、クラス(現状スクリプトという認識で構いません)や、そのクラス内のメソッド、変数がどこからアクセス(値の変更や参照)をすることができるかを決定するものです。

C#の修飾子は以下6種類の記述方法があるそうです。以下、記事からの抜粋です。

修飾子 機能
public 無制限のアクセスを許可
private コンテナである型にアクセスを制限
internal 現在のアセンブリにアクセスを制限
protected コンテナであるクラス、そこから派生した型にアクセスを制限
protected internal 現在のアセンブリ、包含クラスから派生した型にアクセスを制限
private protected 包含クラス、包含クラスから派生した型にアクセスを制限
なし =private

「public」はアクセスを一切制限しません。逆に「private」は記述されたスクリプト以外からのアクセスをできないように制限します。なるほど。

ということで、[第12回] クラスの基本的な使い方を学ぶ|Unityで学ぶC#入門へ。これもクラスの話なのでわかりやすいですが、実装してみると、、

Can’t add script component ‘sample’ because the script class cannot be found. Make sure that there are no compile errors and that the file name and class name match.

というエラー。くじけたのでまた明日。解決方法は「Unityで何回やり直しても「Can’t add script」というエラーに引っかかるときの対処法」に載っている模様。

 

 

 

 

この記事を書いた人
草場代表
エディター