UnityをC#で超入門してみる #3 計算の章

  • 40
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

UnityをC#で超入門してみる #2 ゲームオブジェクトの章
http://qiita.com/hiroyuki_hon/items/5211a1853647eee38d51
の続きです。

目次 超入門#3 計算の章

演算・制御・配列・ランダム・比較

C#の文法

 演算、制御してみよう
  値が同じかを調べる
 配列を試してみよう
  配列からランダムに取りだそう
 時間を表示しよう

mathfクラス

 ランダムを生成しよう
 べき乗(指数)を計算しよう
 円周率をもとめよう
 大きい方を返す、小さい方を返す

C#の文法

演算、制御してみよう

スクリプト内はもちろん、Debug.Log内でも四則演算が可能です。

  • 足し算
  • 引き算
  • かけ算 / 割り算 % 余りを出します

このように書きます。
スクリーンショット 2014-01-03 2.02.13.png
計算結果で返されます。
スクリーンショット 2014-01-03 2.11.26.png

値が同じかを調べる

スクリーンショット 2014-01-03 2.15.38.png
こちらは比較の結果が返されます。
スクリーンショット 2014-01-03 2.18.11.png
このように演算子を使うことが可能です。

if文なりを書くことも出来ます。

    int i = 10;
    int j = 20;
    int k;

    void Start () {
        k = i + j;
        print(k);

        if(k == 30)
            print("Kは30");
        else
            print("それはない。");
    }

こうすると kは30 がコンソールに出ます。

for文なりなんなりも当然に効きます。

for (int m = 0 ; m < 5 ; m++)
            print(m + 1);

配列を試してみよう

C#の配列は以下のようになります。
型名[] 配列名 = new 型名[要素数];

    void Start () {

        int[] arr = new int[3];

        arr[0] = 1;
        arr[1] = 2;
        arr[2] = 3;

        Debug.Log(arr[0]);
        Debug.Log(arr[1]);
        Debug.Log(arr[2]);
    }

public class ListTest : MonoBehaviour 
{
//リストの生成
    public System.Collections.Generic.List<string> ListNameString;
    public System.Collections.Generic.List<int> ListNameInt;

    //Inspectorに名前がListNameXのリストが現れる。
    //サイズを指定して、中もインスペクターで生成できる。

    //例:Size3として 1,2,3と入れた場合。
    //例:Size2として、test1,test2と入れた場合。

    void Start ()
    {
        ListNameInt.ForEach(text => print(text));
    //出力: 0,1,2

    ListNameString.ForEach(text => print(text));
    //出力: test1,test2
    }

}

配列からランダムに取りだそう

for (int i = 0 ; i < 5 ; i++)
    {
        int seisuu = Random.Range(0, 3);

            int[] arr = new int[3];

            arr[0] = 1;
            arr[1] = 2;
            arr[2] = 3;

            Debug.Log(arr[seisuu]);
    }

時間を表示しよう

単純に経過時間を出す。 Time.time


print(Time.time);

mathfクラス

ランダムを生成しよう

Random.value;
Random.Range(x, y); を用いる。

//乱数を生成する

    void Start () {

       for (int i=0 ; i<5 ; i++)
        {
            float x = Random.value;
            Debug.Log(x);
        }

//レンジをきめて乱数を生成する

        for (int i=0 ; i<5 ; i++)
        {
            float y = Random.Range(2.0f, 3.0f);
            Debug.Log(y);
        }

//整数の乱数を生成する

        for (int i=0 ; i<5 ; i++)
        {
            int seisuu = Random.Range(0, 9);
            Debug.Log(seisuu);
        }
    }

べき乗(指数)を計算しよう

Mathf.Pow を用いる。

print(
              Mathf.Pow(3, 2));
//出力:9

円周率をもとめよう

Mathf Namespace: UnityEngine から
Mathf.PI を使います。
参考 http://docs-jp.unity3d.com/Documentation/ScriptReference/Mathf.PI.html


float pi = Mathf.PI;
Debug.Log(pi);

で、コンソールに


3.14159274101257
UnityEngine.Debug:Log(Object)

となります。

大きい方を返す、小さい方を返す

大きい方を返す Mathf.Max();

print(
           Mathf.Max(1.2F, 2.4F)); 
//出力:2.4

小さい方を返す Mathf.Max();

 print(
              Mathf.Min(1.2F, 2.4F));
//出力:1.2

つづきます

UnityをC#で超入門してみる #4 GUIの章
http://qiita.com/hiroyuki_hon/items/af0a52c1cb9e856f32b2