質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

解決済

2回答

2301閲覧

Vertical Layout Groupの中でのCanvasのサイズ取得について

BLACKROD

総合スコア1

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2021/06/14 13:25

編集2021/06/14 22:48

Unityを使ってレイアウトの調整作業を行なっています。

その中で、Vertical Layout GroupやHorizontal Layout Group、
Grid Layout Groupを使用した場合、Imageを思ったところに表示できません。

Vertical Layout Groupなどを使用せずに全画面で座標指定として
考えた場合だと768×1024などで設定したと仮定した場合、
Screen.height、Screen.widthを使って計算できています。

C#

試したこと

Vector2 a = panel.pixelRect.size; LogV2("pixelRect.size", "a", a); Vector2 b = panel.GetComponent<RectTransform>().rect.size; LogV2("rect.size", "b", b); Vector2 c = panel.GetComponent<RectTransform>().rect.position; LogV2("rect.position", "c", c); Vector2 d = panel.GetComponent<RectTransform>().sizeDelta; LogV2("sizeDelta", "d", d); Logでの出力結果 pixelRect.size a x: 768, y: 1024 rect.size b x: 768, y: 1024 rect.position c x: -384, y: -512 sizeDelta d x: 768, y: 1024

イメージ説明
現在、親Canvasの中に3列Canvasを並べていて
真ん中のCanvasに動的にPanelを生成している状況です。
この画像で説明しますと、GridのCanvasのrectのサイズを取得したいのです。

イメージ説明
3分割しているので、それぞれにCanvasサイズを取得出来れば良いのですが、今のところ、画面サイズであったり、中心の座標しか取得できていない状況です。

それぞれのcanvasの幅768、高さ341となっており、Canvasのサイズを取得する方法をご伝授のほどよろしくお願い致します。
変数等を探していますが見つけることが出来ていません。
特に高さ341を取得出来れば最高です。

補足情報(FW/ツールのバージョンなど)

macOS Catalina
Unity Ver 2019.3.9f1

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

自己解決

親オブジェクトのanchoredPositionと
offsetMax、offsetMinで無事に取得出来ました。

お騒がせ致しました。

投稿2021/06/16 02:41

BLACKROD

総合スコア1

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

**追記事項:

Vector2 e = panel.GetComponent<RectTransform>().anchoredPosition;

上記のanchoredPositionで親Canvasの位置Xと位置Yの取得をすることができました。
残りは子Canvasの位置Xと位置Yの取得方法のみが知りたい内容になります。
試しに子要素のCanvasの位置Xと位置Yを取得してみたら値が0と表示されたのが
自分としては、まだ理解できていないところです。

どうぞよろしくお願い致します。

投稿2021/06/15 13:46

BLACKROD

総合スコア1

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問