【Unity】画面サイズが変わったときにコンテンツサイズを変える

概説

画面サイズの変更に合わせてUIサイズを変更するためのプログラムです。

using UnityEngine;

class UISizeChange : MonoBehaviour
{
    private void Update()
    {
         AdjustScreenSize();
    }

    float previousScreenWidth = 375; // iPhone用のアプリなので初期サイズは375x812を想定している
    float previousScreenHeight = 812;
    /// <summary>
    /// UIサイズ自動変更機能
    /// </summary>
    void AdjustScreenSize()
    {
        if (Screen.height != previousScreenHeight || Screen.width != previousScreenWidth)
        {
            if (Screen.height < Screen.width) return;//画面が横長のときは諦める
            //何らかの処理
        }
        previousScreenHeight = Screen.height; previousScreenWidth = Screen.width;
    }
}


Playモードではない状態でも動くものとしては、kanのメモ帳さんの記事を参考にするのがおすすめです。

横幅を全画面サイズにする場合は、RectTransformのアンカーをStretchに変更、LeftとRightの値を0に変更するのが簡潔です。

投稿日:
カテゴリー: GUI タグ:

作成者: rarafy

2013年くらいからUnityを触っているかもしれません。 特に書くこともありませんが、趣味は部屋の掃除です。

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です