Unity開発メモ #5
シーン遷移
using UnityEngine.SceneManagement;
SceneManager.LoadScene("stage_01");
音量設定をシーン間で引き継ぐ
シーン間での変数引継ぎ
public static で宣言することで、以後「クラス名.変数名」でどのシーンのクラスからもアクセス可能となるので、マスター音量をpublic static floatで定義。
各シーンの音量初期値をマスター音量の値にそろえる
void Start () で適当に設定。
音量スライダーがある場合はスライダーの初期値もマスター音量の値に更新すること
【Unity】Sliderの使い方とリアルタイムで値を取得する方法https://squmarigames.com/2018/12/16/unity-beginner-slider/
ゲームを終了する
たぶんEditorの場合とbuildしたファイルで記述がわかれてる
♯if UNITY_EDITOR
UnityEditor.EditorApplication.isPlaying = false;
♯else
Application.Quit();
♯endif
【コピペ可】Unityでゲームを終了する方法|4パターン紹介‼https://www.popii33.com/how-to-quit-a-game-in-unity/
一定時間後にスクリプトを処理する
Invokeを使う。
さらに定期的に繰り返したいときはInvokeRepeatingを使う。
イベントを自動進行させるときに使用した。
ローディングのくるくるを実装
Image TypeのFill Amoutをアニメーションさせることで簡易に実装できる
Unity:ローディング画面を作る(定番、クルクル)https://qiita.com/kingyo222/items/0e16146261b5b85cf45c
アニメーションで'xxx' must be marked as Legacyというエラーがでた
グラデーション画像を簡易表示するコンポーネント(スクリプト)
【Unity】UnityEngine.UI.Image を グラデーション表示する
https://hacchi-man.hatenablog.com/entry/2020/04/28/220000
現在の日時の表示
DataTime構造体より取得
Unity C#で現在時刻を表示する方法/DateTime.Nowの使い方https://sunagitsune.com/unitydatetimenow/
数字を指定の桁数で0埋めする
int a = 123;
Console.WriteLine(a.ToString("D5"));
Console.WriteLine(a.ToString("00000"));
いずれも00123と出力
tagとlayerの使い分け
Layerは特定のオブジェクトを無視したいときに使用。32個しか作れない。
Tagは複数のオブジェクトをまとめて処理したいときに使用。
unityのtagとlayerの使い分けについて
https://teratail.com/questions/175861