【Unity】代入演算子『*=

 

代入演算子『*=

「代入演算子」とは、変数へ値を代入するための演算子のことです。
*=」は、変数に値を乗算した結果を、変数へと代入しなおすための演算子です。

 

 

もくじ

1.具体例

 

 

具体例

このように書くことができます。

 

このコードは、

このように書き換えることができます。

すなわち、「x * 2の計算結果をxに代入する」という意味になります。

 

では改めてコードを見てみましょう。

1行目で変数xが5で初期化されて、2行目で「変数xに2を掛けた結果をxに代入」

しているので、最終的に変数xの値は「10」になっています。

Point

計算した結果を変数へ代入する』というのがポイント

 

【Unity】代入演算子『-=

 

代入演算子『-=

「代入演算子」とは、変数へ値を代入するための演算子のことです。
-=」は、変数から値を減算した結果を、変数へと代入しなおすための演算子です。

 

 

もくじ

1.具体例

 

 

具体例

このように書くことができます。

 

このコードは、

このように書き換えることができます。

すなわち、「x – 2の計算結果をxに代入する」という意味になります。

 

では改めてコードを見てみましょう。

1行目で変数xが8で初期化されて、2行目で「変数xから2を引いた結果をxに代入」

しているので、最終的に変数xの値は「6」になっています。

Point

計算した結果を変数へ代入する』というのがポイント

 

【Unity】C#の基本構文『do-while』

 

『do-while』文とは

繰り返し処理を行いたいときに使用します。

 

 

もくじ

1.基本構文
2.『while』と『do-while』の違い

 

 

基本構文

 

スクリプト

※プログラミングは基本的に、すべて半角英数字で記述します。上記では便宜上全角を使用していることをご了承ください。

 

スクリプトの解説

“do”文内の「処理」を行った後に、”while(条件)”の条件判定が行われます。

ここで「条件」を満たしている場合、再度do文の先頭に戻り処理が実行されます。

「条件」を満たさなくなった段階で、do-while文が終了します。

 

上記以外はすべてwhile文と同じですので割愛させていただきます。

詳しくは、C#の基本構文『while』をご覧ください。

 

 

『while』と『do-while』の違い

基本構文を見ていただくとわかる通り、

while文では、最初に条件の判定が行われているのに対し、

do-while文では、最後に条件の判定が行われています。

 

違いはこれだけなのですが、これにより何が違ってくるのかというと、

 

while文では、

最初に判定が行われるため、最初から条件を満たしていた場合には、

while文の中が1度も実行されずに終わります。

 

一方、do-while文では、

do内を実行した後で判定が入るため、最初から条件を満たしていても、

必ず1度は実行されます。

 

while文とdo-while文は、

使い方が全く同じなのですが、このような違いがあります。

しっかりと使い分けましょう。

 

【Unity】関数一覧『シーン全般』

 

シーン全般

※SceneManagerを使用する場合には、スクリプトの一番上に 『using UnityEngine.SceneManagement;』を追加してください。

※関数の橙文字は目的に合わせて随時変更してください。
は、その変数が「読み込み専用」であることを表しています。

 

 

もくじ

1.シーン情報の取得
2.シーンの取得
3.シーンの追加と変更
4.シーンの削除
5.オブジェクト移動
6.Sceneクラス

 

 

シーン情報の取得

シーン情報取得に関する変数

目的 関数 戻り値
現在のシーン数取得 SceneManager.sceneCount; int
Build Settingsの
シーン数取得
SceneManager.sceneCountInBuildSettings; int

 

 

シーンの取得

シーン取得に関する関数

目的 関数 戻り値
現在のシーンを取得 SceneManager.GetActiveScene(); Scene
インデックス指定で
シーンを取得
SceneManager.GetSceneAt(0); Scene
ビルドインデックス指定で
シーンを取得
SceneManager.GetSceneByBuildIndex(0); Scene
名前指定でシーンを取得 SceneManager.GetSceneByName(“name“); Scene

 

 

シーンの追加と変更

シーンの追加と変更に関する関数

目的 関数 戻り値
シーンの切り替え SceneManager.LoadScene(“name“,LoadSceneMode.Single);
or
SceneManager.LoadScene(buildIndex,LoadSceneMode.Single);
シーンの追加 SceneManager.LoadScene(“name“,LoadSceneMode.Additive);
or
SceneManager.LoadScene(buildIndex,LoadSceneMode.Additive);
シーンの切り替え
(非同期)
SceneManager.LoadSceneAsync(“name“,LoadSceneMode.Single);
or
SceneManager.LoadSceneAsync(buildIndex,LoadSceneMode.Single);
シーンの追加
(非同期)
SceneManager.LoadSceneAsync(“name“,LoadSceneMode.Additive);
or
SceneManager.LoadSceneAsync(buildIndex,LoadSceneMode.Additive);
新しい空シーンの追加 SceneManager.CreateScene(“name“);
シーンの変更 SceneManager.SetActiveScene(scene);

 

 

シーンの削除

シーンの削除に関する関数

目的 関数 戻り値
シーンの削除 SceneManager.UnloadSceneAsync(“name“);
or
SceneManager.UnloadSceneAsync(buildIndex);

 

 

オブジェクト移動

シーン間のオブジェクトの移動に関する関数

目的 関数 戻り値
シーン間の
オブジェクト移動
SceneManager.MoveGameObjectToScene(object, scene);

 

 

Sceneクラス

Sceneクラスに関する変数・関数

目的 関数 戻り値
Build Settingsにおける
シーンインデックス取得
scene.buildIndex; int
シーン名取得 scene.name; string
シーンの相対パス取得 scene.path; string
有効なシーンかどうか scene.IsValid(); bool
シーンが読み込まれたか scene.isLoaded; bool

 

 

【Unity】関数一覧『コルーチン』

 

コルーチン

※関数の橙文字は目的に合わせて随時変更してください。
は、その変数が「読み込み専用」であることを表しています。

 

 

もくじ

1.コルーチンの開始と停止
2.処理を待つ

 

 

コルーチンの開始と停止

コルーチンの開始と停止に関する関数

目的 関数 戻り値
コルーチンを開始する StartCoroutine(coroutine());
コルーチンを停止する StopCoroutine(coroutine());
全てのコルーチンを停止する StopAllCoroutines();
コルーチンを途中で抜ける yield break;

 

 

処理を待つ

コルーチン内で処理を待つための関数

目的 関数 戻り値
1フレーム待つ
(Update関数の終了まで待つ)
yield return null;
フレーム終了を待つ
(レンダリングの終了を待つ)
yield return new WaitForEndOfFrame();
指定秒数待つ yield return new WaitForSeconds(0.5f);
FixedUpdate関数が
呼び出されるまで待つ
yield return new WaitForFixedUpdate();
任意の再開条件まで待つ
(条件がtrueを返すまで待つ)
yield return new WaitUntil(conditionFunc);
任意の待機条件まで待つ
(条件がfalseを返すまで待つ)
yield return new WaitWhile(condition);
任意のコルーチン終了を待つ yield return StartCoroutine(coroutine());

 

【Unity】関数一覧『フレームレート』

 

フレームレート

※関数の橙文字は目的に合わせて随時変更してください。
は、その変数が「読み込み専用」であることを表しています。

 

 

もくじ

1.フレームレート
 

 

フレームレート

フレームレートに関する変数

目的 関数 戻り値
フレームレートを固定する Application.targetFrameRate = 60;
経過したフレーム数の合計 Time.frameCount; int
フレームの更新を遅く一定にする Time.captureFramerate = 25;

 

【Unity】関数一覧『スクリーン全般』

 

スクリーン全般

※関数の橙文字は目的に合わせて随時変更してください。
は、その変数が「読み込み専用」であることを表しています。

 

 

もくじ

1.スクリーン情報
2.自動回転制御

 

 

スクリーン情報

スクリーン情報取得に関する変数

目的 関数 戻り値
スクリーンの高さ Screen.height; int
スクリーンの幅 Screen.width; int
フルスクリーンかどうか Screen.fullScreen; bool
現在の画面の解像度 Screen.currentResolution; Resolution
スクリーンの現在の解像度 Screen.dpi; float

 

 

自動回転制御

スクリーンの自動回転に関する変数

目的 関数 戻り値
右へ自動回転するか Screen.autorotateToLandscapeRight; bool
左へ自動回転するか Screen.autorotateToLandscapeLeft; bool
自動で縦回転するか Screen.autorotateToPortrait; bool
逆さまにしたとき
自動で縦回転するか
Screen.autorotateToPortraitUpsideDown; bool

 

【Unity】関数一覧『入力全般』

 

入力全般

※関数の橙文字は目的に合わせて随時変更してください。
は、その変数が「読み込み専用」であることを表しています。

 

 

もくじ

1.キーボード入力
2.マウス入力
3.タッチ入力
 

 

キーボード入力

キーボードの入力に関する変数・関数

目的 関数 戻り値
なんらかのキーかマウスが
押されているか(常時)
Input.anyKey; bool
なんらかのキーかマウスが
押されたか(1フレーム)
Input.anyKeyDown; bool
任意のキーが押されているか(常時) Input.GetKey(KeyCode.UpArrow); bool
任意のキーが押されたか
(1フレーム)
Input.GetKeyDown(KeyCode.UpArrow); bool
任意のキーが離されたか
(1フレーム)
Input.GetKeyUp(KeyCode.UpArrow); bool
押されたキーボードの
文字を取得
Input.inputString: string

 

 

マウス入力

マウスの入力に関する変数・関数

目的 関数 戻り値
なんらかのキーかマウスが
押されているか(常時)
Input.anyKey; bool
なんらかのキーかマウスが
押されたか(1フレーム)
Input.anyKeyDown: bool
任意のマウスが押されているか(常時) Input.GetMouseButton(0);
[0:left 1:right 2:middle]
bool
任意のマウスが押されたか
(1フレーム)
Input.GetMouseButtonDown(0);
[0:left 1:right 2:middle]
bool
任意のマウスが離されたか
(1フレーム)
Input.GetMouseButtonUp(0);
[0:left 1:right 2:middle]
bool
マウス座標の取得 Input.mousePosition; Vector3
マウススクロールの
移動量取得
Input.mouseScrollDelta; Vector2

 

 

タッチ入力

スマホのタッチに関する変数・関数

目的 関数 戻り値
画面上で何カ所
タッチされているか
Input.touchCount; int
タッチ情報の取得 Input.GetTouch(0); Touch
タッチフェーズの取得 touch.phase; TouchPhase
タッチ座標の取得 touch.position; Vector2
1つ前のタッチとの変動値 touch.deltaPosition; Vector2
前タッチからの経過時間 touch.deltaTime; float

 

【Unity】関数一覧『デバッグ機能』

 

デバッグ機能

※関数の橙文字は目的に合わせて随時変更してください。
は、その変数が「読み込み専用」であることを表しています。

 

 

もくじ

1.コンソール出力
2.線を引く
3.一時停止

 

 

コンソール出力

UnityEditorのConsoleに出力するための関数

目的 関数 戻り値
コンソールに出力する Debug.Log(“”);
コンソールにエラー出力する Debug.LogError(“”);
コンソールに警告出力する Debug.LogWarning(“”);

 

 

線を引く

デバッグ機能として線を引くための関数

目的 関数 戻り値
線を描画する Debug.DrawLine(startPos,endPos,color,duration);
or
Debug.DrawRay(startPos,dir,color,duration);

 

 

一時停止

UnityEditorでのプレイを一時停止するための関数

目的 関数 戻り値
エディタを一時停止する Debug.Break();

 

【Unity】関数一覧『イベント関数』

 

イベント関数

特定のタイミングで呼ばれるイベント関数についてです。

※関数の橙文字は目的に合わせて随時変更してください。
は、その変数が「読み込み専用」であることを表しています。

 

 

もくじ

1.初期化時に呼ばれるイベント関数
2.毎フレーム呼ばれるイベント関数
3.終了時に呼ばれるイベント関数
4.カメラに関するイベント関数
5.当たり判定に関するイベント関数
6.トリガーに関するイベント関数
7.パーティクルに関するイベント関数
8.マウスに関するイベント関数

 

 

初期化時に呼ばれるイベント関数

ゲーム開始などの初期化のタイミングで呼び出される関数

目的 関数 戻り値
スクリプトがロードされた1度のみ void Awake(){ }
初回のUpdate関数が呼び出される直前の1度のみ void Start(){ }
オブジェクトが有効になったタイミング void OnEnable(){ }

 

 

毎フレーム呼ばれるイベント関数

毎フレーム呼び出される関数

目的 関数 戻り値
毎フレーム呼ばれる void Update(){ }
固定のフレームレートで呼ばれる void FixedUpdate(){ }
毎フレーム、Update関数後に呼ばれる void LateUpdate(){ }
毎フレーム数回呼ばれるGUIシステム void OnGUI(){ }

 

 

終了時に呼ばれるイベント関数

終了のタイミングで呼び出される関数

目的 関数 戻り値
オブジェクトが破棄される1度のみ void OnDestroy(){ }
オブジェクトが無効になったタイミング void OnDisable(){ }

 

 

カメラに関するイベント関数

カメラに関する関数

目的 関数 戻り値
レンダラーが任意のカメラから
見えなくなったタイミング
void OnBecameInvisible(){ }
レンダラーが任意のカメラから
見えるようになったタイミング
void OnBecameVisible(){ }
レンダラーがカメラから見えている間
カメラごとに常時呼び出される
void OnWillRenderObject(){ }

 

 

当たり判定に関するイベント関数

collider/rigidbody同士の物理的接触により呼び出される関数

目的 関数 戻り値
物理的接触が発生した瞬間(3D) void OnCollisionEnter(Collision col){}
物理的接触が発生している間
1フレームごと(3D)
void OnCollisionStay(Collision col){}
物体が離れた瞬間(3D) void OnCollisionExit(Collision col){}
物理的接触が発生した瞬間(2D) void OnCollisionEnter2D(Collision2D col){}
物理的接触が発生している間
1フレームごと(2D)
void OnCollisionStay2D(Collision2D col){}
物体が離れた瞬間(2D) void OnCollisionExit2D(Collision2D col){}

 

 

トリガーに関するイベント関数

collider/rigidbody同士の非物理的接触(トリガー)により呼び出される関数

目的 関数 戻り値
トリガーに接触した瞬間(3D) void OnTriggerEnter(Collider col){}
トリガーに接触している間
1フレームごと(3D)
void OnTriggerStay(Collider col){}
トリガーから離れた瞬間(3D) void OnTriggerExit(Collider col){}
トリガーに接触した瞬間(2D) void OnTriggerEnter2D(Collider2D col){}
トリガーに接触している間
1フレームごと(2D)
void OnTriggerStay2D(Collider2D col){}
トリガーから離れた瞬間(2D) void OnTriggerExit2D(Collider2D col){}

 

 

パーティクルに関するイベント関数

パーティクルとColliderの接触により呼び出される関数

目的 関数 戻り値
パーティクルが
物理的接触したとき
void OnParticleCollision(GameObject obj){ }
パーティクルが
トリガーと接触したとき
void OnParticleTrigger(){ }

 

 

マウスに関するイベント関数

GUIElementやCollider上でのマウス操作に関する関数

目的 関数 戻り値
マウスが押された瞬間 void OnMouseDown(){ }
マウスがドラッグされている間毎フレーム void OnMouseDrag(){ }
マウスが上に乗っかった瞬間 void OnMouseEnter(){ }
マウスが上に乗っかっている間毎フレーム void OnMouseOver(){ }
マウスが離れた瞬間 void OnMouseExit(){ }
マウスから指を離した瞬間 void OnMouseUp(){ }