LoginSignup
41
42

More than 5 years have passed since last update.

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

Last updated at Posted at 2014-01-02

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

41
42
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
41
42