コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity】uGUI で表示に必要なオブジェクトだけ生成するスクロールを実装できる「Loop Scroll Rect」紹介

はじめに

「Loop Scroll Rect」を Unity プロジェクトに導入することで
uGUI で表示に必要なオブジェクトだけ生成するスクロールを実装できるようになります

使用例

f:id:baba_s:20190104171015g:plain

使い方

f:id:baba_s:20190104172828p:plain

Hierarchy の「Create>UI>Loop Vertical Scroll Rect」を選択して

f:id:baba_s:20190104172830p:plain

作成された「Loop Vertical Scroll Rect」の「Prefab Source」の「Prefab Name」に
スクロールで使用する項目のプレハブのパスを入力して

f:id:baba_s:20190104172833p:plain

「Loop Vertical Scroll Rect」に「InitOnStart」をアタッチして
「Total Count」にスクロールの要素の初期数を設定して

f:id:baba_s:20190104172836p:plain

「Content」オブジェクトの「Child Controls Size」を両方ともオンにして

f:id:baba_s:20190104173126p:plain

シーンに Event System が存在しない場合は Hierarchy の
「Create>UI>Event System」を選択することで使用できるようになります

f:id:baba_s:20190104173231p:plain

スクロール内の要素として使用するプレハブには
「Layout Element」をアタッチしてサイズを指定しておきます

using UnityEngine;

public class Example : MonoBehaviour
{
    private void ScrollCellIndex( int index )
    {
        Debug.Log( index );
    }
}

スクロール内の要素として使用するプレハブに
上記のようなコンポーネントをアタッチすると
要素の表示が切り替わる時に ScrollCellIndex 関数が呼び出されるため
この関数内で表示の更新を行うことができます

参考サイト様