Unityの基本。c#スクリプトでよく使う演算や構文のメモ
Unityのc#スクリプトでよく使う演算や構文や関数をメモしておく。こうしておくと迷いなし。
自分用のメモでごんす
時間が経つ毎にX軸の数値が0.1ずつ増えていく
float x = 0.1f; void Start () { } void Update () { Vector3 v = new Vector3 (x, 0, 0); transform.Translate (v); }
using UnityEngine.UI;宣言
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI;
変数の宣言
int x; string y; bool z; string y = "Hello World";
四則演算子
1000 + 1000 //足し算 10 - 5 //引き算 3 * 5 //掛け算 30 / 6 //割り算 5 % 2 //剰余 5を2で割ると余りは1ですね
テキストを含む足し算は、もう一方の値はテキストに変換される。
int a = 10; int b = 20; int c = a + b; text.text = "計算結果 :" + c;
string w1 = "OKDA"; string w2 = "LABO"; text.text = w1 + ":" + w2;
代入演算子
X += Y //XにYを足す X -= Y //XからYを引く X *= Y //XにYを掛ける X /= Y //XをYで割る X %= Y //XをYで割った余り(剰余)
上の意味
X = X + Y //XにYを足す X = X - Y //XからYを引く X = X * Y //XにYを掛ける X = X / Y //XをYで割る X = X % Y //XをYで割った余り(剰余)
int x = 2; //変数の宣言と代入 x *= 3 //代入演算 //x *= 3 の部分は、 x = x * 3。だから最終的に xは6
比較演算子
X == Y //XとYは等しい X != Y //XとYは等しくない X > Y //XはYより大きい X < Y //XはYより小さい X <= Y //XはY以下 X >= Y //XはY以上
インクリメント演算子(++)・デクリメント演算子(--)
x++; ++x; y--; --y;
++x; // x = x + 1; と同じ --x; // x = x - 1; と同じ
int x = 10; ++x; //1増やす text.text = "計算結果 :" + x; //11になる
空の配列の作り方
int [ ] numbers = { } //int型の配列を作って、変数numbersに代入 string [ ] words = new string[ ] //string型の配列を作って、変数wordsに代入している
配列に要素が入る場合
string [ ] words = {"Hello", "World", "baseball"} string[ ] words = new string["Hello", "World", "baseball"]
配列の宣言と代入
string[] ary = {"OKADA", "LABO", "Programming"}; //配列の宣言と代入 string str = ary[0] + "::" + ary[1] + "::" + ary[2]; print(str); //OKADA::LABO::Programming を出力
string[] fruits = {"みかん", "りんご", "いちご"}; fruits[0] //みかん fruits[1] //りんご fruits[2] //いちご
配列の要素の数をカウント
string[] ary = { "りんご", "ごりら", "らっぱ" }; //配列の宣言と代入 int str = ary.Length; //要素数のカウント print(str); //3 を出力 string text = "要素数 :" + str; print(text); //要素数 :3 を出力
foreach文
foreach ( 変数 in 配列 ) { //実行する処理 }
string[] animals = {"cat", "dog", "monkey"}; //配列の宣言と代入 foreach (string animal in animals){ print(animal); } //cat //dog //monkey
if文
int num = 3; if (num > 1) { print("1より大きいです。"); } //1より大きいです。 を出力
条件式が偽(false)の場合に処理
int num = -1; if (num > 0) { string text = "値は正です。"; print(text); } else { string text = "値は負です。"; print(text); } //値は負です。 を出力
int num = 0; if (num > 0) { string text = "値は正です。"; } else if (num == 0) { string text = "値は0です"; print(text); } else { string text = "値は負です。"; print(text); } //値は0です。 を出力
switch文
switch(変数){ case 値1: 変数が値1のときに行う処理 break; case 値2: 変数が値2のときに行う処理 break; ・ ・ ・ default: どの値でもないときに行う処理 break; }
列挙隊enumとswitch
enum Fruits { apple, orange, banana }; void Start () { string fruitsText = ""; Fruits fruit = Fruits.orange; //Fruitsからorangeを取得し、変数fruitに代入 switch (fruit) { case Fruits.apple: fruitsText = "りんごです"; print(fruitsText); break; case Fruits.orange: fruitsText = "みかんです"; print(fruitsText); break; case Fruits.banana: fruitsText = "ばななです"; print(fruitsText); break; default: fruitsText = "どのフルーツでもないです"; print(fruitsText); break; } } //みかんです を出力
enum Days { Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday }; // Use this for initialization void Start () { string dayText = ""; Days day = Days.Monday; //DaysからMondayを取得し、変数dayに代入 switch (day) { case Days.Sunday: dayText = "日曜日です"; print(dayText); break; case Days.Monday: dayText = "月曜日です"; print(dayText); break; case Days.Tuesday: dayText = "火曜日です"; print(dayText); break; case Days.Wednesday: dayText = "水曜日です"; print(dayText); break; case Days.Thursday: dayText = "木曜日です"; print(dayText); break; case Days.Friday: dayText = "金曜日です"; print(dayText); break; case Days.Saturday: dayText = "土曜日です"; print(dayText); break; default: dayText = "どの曜日でもありません。"; print(dayText); break; } }
関数の定義
void Start () { hello(); //関数の呼び出し } void hello() { //関数の定義 print ("hello world"); }
switch文とif文
int num = 1; if (num == 1) { print ("numは1です"); } else if (num == 2) { print ("numは2です"); } else if (num == 3) { print ("numは3です"); } else { print ("値が大きすぎます"); }
int num = 1; switch (num) { case 1: print ("値は1です"); break; case 2: print ("値は2です"); break; case 3: print ("値は3です"); break; default: print ("値が大きすぎます"); break; }
while文
int num = 0; while (num <= 10) { print (num); num += 1; }
while文など繰り返し処理を使う場合、繰り返し回数を示す変数をよく使います。それをカウンタ変数と言います。
int total = 0; int count = 0; //カウンタ変数 while (count <= 10){ //カウンタ変数をチェック total += count; count += 1; //カウンタ変数を増やす }
for文
for ( 初期化処理 ; 条件 ; 繰り返し後の処理 ){ //繰り返す処理 }
string text = ""; int total = 0; //変数の宣言と代入 for (int i = 1; i <= 10; i++) { total += i; } text = "合計 :" + total; print(text); //55