スクロールアレスタを追加して、コンテナのパネルを追加し、そのパネルをscロール・レットを制御します。
次に、コンテナは水平/垂直レイアウトグループを取得します。すべての画像を追加し、適切に表示されるようにコンテナのサイズを設定します。
ゲームを実行するには、適切にスクロールする必要があります(正しく移動するように、移動範囲を制限する必要があります)。
private int currentIndex = 0;
[SerializeField] private float imageSize;
[SerializeField] private RectTransform panel;
[SerializeField] private float frequency;
void Start()
{
InvokeRepeating("IncreaseCurrentIndex", frequency,frequency);
}
private void IncreaseCurrentIndex()
{
if(++this.currentIndex >= this.imageCount){ this.currentIndex = 0; }
}
void MoveToNextItem()
{
float targetX = (float)this.currentIndex * this.imageSize;
Vector2 delta = this.panel.anchoredPosition;
delta.x = Mathf.MoveTowards(delta.x, targetX, Time.deltaTime * speed);
this.panel.anchoredPosition = delta;
}
まず、インスペクタで画像のサイズを指定します。パネルはすべての画像のコンテナです。私は残りは自明だと思う。
コードはできるだけシンプルですが、柔軟性はさらに向上しますが、少なくともそれはそのままでなければなりません。
注:これは水平スクロールのためのものです。垂直スクロールの更新で、xのyを変更します。また、Mathf.MoveTowardsを使用すると、スクロールrectの速度の代わりにlerpを使用できます。
キャンバスを作成し、UI、幸運から始める絶対初心者ガイドです。 http://stackoverflow.com/a/36268018/294884 – Fattie