Canvas imageの使い方
GameObject→UI→Canvasを選択する
その後GameObject→UI→Imageを選択する
すると CanvasにImageが追加される

・Canvasの表示順を変える
このままだと 必ずCanvasが他の画像の上に表示されてしまうので
CanvasのRender ModeをScreen Space - Cameraにし
Render CameraにMainCameraを入れましょう

その後Order in Layerの数値を変えることで 画像の表示順番を変えることができます
・Unity画面とアプリ画面のズレを直す
このままだと Unity画面とアプリ画面でズレが起こるので
CanvasのInspectorからCanvas ScalerのUI Scale Modeを
Scale With Screen Sizeにします

Screen Match Modeで画像調整が行えます
|
名前 |
意味 |
| Match Width Or Height | 縦幅か横幅を基準にサイズを合せる (Matchが0で縦向き 1で横向き) |
| Expand | 小さい幅を基準にサイズを合せる |
| Shrink | 大きい幅を基準にサイズを合せる |
画面の向きを固定する場合は 設定をMatch Width Or Heightに
そうでなければExpandかShrinkにするのがいいでしょう
・Canvasをスクリプトで制作する場合
Canvasはプレハブ化するとRender Cameraが空になってしまい
そのままだと思わぬバグが産まれてしまいます
なので事前にHierarchyにCanvasを登録し
それを親とする方法が1番楽です
(オブジェクトを親子関係にする方法 )
・Canvasの表示順を変える
まずはゲー
ムオブジェクトを取得します
そして 頭に「using UnityEngine.UI;」を入れます
表示Indexの指定
obj.transform.SetSiblingIndex(int x);
表示を最奥に
obj.transform.SetAsFirstSibling();
表示を最前面に
obj.transform.SetAsLastSibling();
・Canvas画像を変更する
こちらを
※Canvasの画像変更にはバグがあります 詳しくはこちらを
・Canvas画像の幅を取得 変更する
頭に「using UnityEngine.UI;」を入れます
trans = this.gameObject.GetComponent<RectTransform>();
trans.sizeDelta.x;
trans.sizeDelta.y;
で幅を取得でき
trans.sizeDelta = new Vector2(x, y);
で幅の変更ができます