【Unity】分からなかったコード31選!

Unity

はじめに

VRGestureというUnityのプロジェクトを理解しようと思い、スクリプトを見てみたが、分からないコードが大量にあったのでまとめてみました!(^^)!

VRGesture

読んでほしい人

  • とりあえず、コードが好きな方
  • VRGestureに興味がある方

書き方説明

例)

//分からなかったコード記入
string.Length

文字数を取得する ※1行説明(努力目標)

開始

//1個目
Instantiate(GameObject)

Instantiateは第1引数のみの場合もある。コピーしたいオブジェクトを引数に渡す。シンプルの極み!

//2個目
GetComponent<TextMesh>().text = string

TextMeshはインスペクター内のtextやFontをいじるところ
上記は、TextMeshのtextに文字列を代入。

//3個目
UnityEngine.GL

Unityで線を引くときに使う。GL.LoadOrtho(); GL .Begin(GL.LINES) などなど、詳しくはリファレンスで。

//4個目
ref
out

refが付いた引数はメソッド内で変更できる。outは初期化しないでも使用できる

//5個目
if(bool)return //returnが??

return → 処理の中断 ※上記の場合

//6個目
Time.time

ゲーム開始からの時間

//7個目
OnPostRender()

スクリプトをカメラに接続して使う。カメラがシーンのレンダリングを完了後に呼出。コルーチン使える。

//8個目
string.Substring(A,B)

文字列の部分取り出し。A:開始位置 B:何文字取得するか

//9個目
char a = b[int X];

文字列から1文字取得。X:何文字目を取得するか

//10個目
UnityEngine.XR.XRDevice.SetTrackingSpaceType(UnityEngine.XR.TrackingSpaceType.Stationary);

位置トラッキングのモード Stationary:着席モード RoomScale:動きまわれるモード

//11個目
UnityEngine.XR.InputTracking.Recenter();

Unityのカメラの位置が、そのままプレイヤーの頭の位置になる。InputTracking.Recenterで位置合わせ可能

//12個目
UnityEngine.XR.InputTracking.GetLocalPosition(UnityEngine.XR.XRNode.Head)

Headのローカル座標と向きの取得

//13個目
LinkedList

Listと使い方は同じ感じ、性能に違いあり。

//14個目
LinkedList<Sample> samples.AddFirst(value)

valueをLinkedListの先頭に追加する。AddLastなど他にもいくつかある。

//15個目
LinkedList<Sample> samples.RemoveLast()

最後尾にあるノードを削除する。ノードは点と線で例えると、点!

//16個目
LinkedList<Sample> samples.Count()

LinqのメソッドのCount()と同じ意味かな、だとしたら、要素数を返す

//17個目 18個目
Range(0.2f, 0.4f).Average(sample => sample.eulerAngles.x);
Range(0.01f, 0.2f).Max(sample => sample.eulerAngles.x);

LINQのメソッド Average():平均値を返す Max():最大値を返す  書籍C#超入門おすすめ!

//19個目
LinkedList<Sample>.First()

最初の要素を取得する

//20個目
try{A}catch{B}

例外処理 A:処理 B:例外処理 Aで処理できなかった場合、Bに移る

//21個目
Mathf.Abs(-1.5)

絶対値を返す  1.5

//22個目
try{}catch(invalidOperationException){}

invalidOperationExceptionはエラーの名称 グーグル翻訳すると「無効な操作例外」

//23個目
Public enum State{ A,B,C}

enumは列挙型 switch-case文とあわせて使われることが多い

//24個目
public event Action<string> hogehoge;

デリゲートを理解しないと厳しい デリゲートについて

//25個目
Resources.Load("A")

プロジェクト内のResourcesフォルダにある「A」という名前のAssetを取得する

//26個目
string Trim()

文字列の前後にある空白文字を消去 TrimStart:前の空白文字を消去 TrimEnd:後の空白文字を消去

//27個目
string.StartsWith()
//例
string a = "hideto"
if(a.StartsWith("hi"))
{
//処理
}

文字列の先頭の文字と一致するか調べる

//28個目
Regex.Match()

パターンに一致した文字列を一つ抽出する?

//29個目
Match.Groups

抽出したグループを取得? Regex難しい

//30個目
int.Parse(string)
//例
string a = "333"
int b = int.Parse(a)

文字から数字へ型変換

//31個目
throw new Exception();

throwは例外を発生させる。Exceptionというエラーを発生させる。

感想

Regex難しい。

コメント

タイトルとURLをコピーしました