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);
で幅の変更ができます

戻る