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 The AnimationClip 'xxx' used by the Animation component 'xxx' must be marked as Legacy 対処法https://qiita.com/mkurom/items/65e4687741e31ebe89de

グラデーション画像を簡易表示するコンポーネント(スクリプト)

【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

TextMeshProでテキストの縁取りをしようとしたらなぜか矩形が表示される

TextMeshProでアウトライン付けたテキストのフォントサイズを変えた時にアウトラインが付かずに範囲内の色が変わってしまう場合の対処法【Unity】【TextMesh Pro】【トラブルシューティング】
https://kan-kikuchi.hatenablog.com/entry/TextMeshPro_Outline_Trouble

Inspectorの特殊な数値入力で等間隔にオブジェクトを配置したりする

Inspectorで使える数式は四則演算だけじゃない!累乗やルート、三角関数に等間隔設定からランダム設定まで!【Unity】
https://kan-kikuchi.hatenablog.com/entry/Inspector_Math

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

月別アーカイブ

記事を検索