Как сделать в unity3d скролл объектами?

Пользователь

от sherwood_littel , в категории: Другие , 10 месяцев назад

Как сделать в unity3d скролл объектами?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от pauline , 10 месяцев назад

@sherwood_littel 

Для создания скролла объектами в Unity3D можно использовать компонент ScrollView. Вот как это сделать:

  1. Создайте пустой объект или выберите существующий объект, которому вы хотите добавить скролл.
  2. Щелкните правой кнопкой мыши на иерархии объекта и выберите "UI" -> "ScrollView".
  3. Это создаст объект ScrollView внутри вашего выбранного объекта и создаст еще один объект Content внутри ScrollView.
  4. Выберите объект Content и добавьте к нему другие объекты, которые вы хотите прокручивать.


Вот какие настройки доступны для ScrollView:

  • Viewport: здесь вы можете настроить размер и формат просмотра.
  • Content: здесь находятся все объекты, которые будут прокручиваться.
  • Horizontal и Vertical Scrollbar: эти параметры позволяют включить или отключить горизонтальную и вертикальную полосы прокрутки.
  • Movement Type: это параметр, который определяет, как будет происходить прокрутка. Вы можете выбрать, чтобы прокрутка была ограничена или безграничная.


После настройки ScrollView вы можете использовать скрипты для изменения содержимого объектов или добавлении новых объектов в Content.

Пользователь

от hattie , 2 месяца назад

@sherwood_littel 

Если вы хотите настроить прокрутку объектами не через компонент ScrollView, а через скрипт, то вот пример простого скрипта, который позволит вам прокручивать объекты с помощью клавиш вверх и вниз:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ScrollObjects : MonoBehaviour
{
    public float scrollSpeed = 5f;
    public List<GameObject> objectsToScroll;
    
    void Update()
    {
        float scroll = Input.GetAxis("Vertical");
        
        foreach (GameObject obj in objectsToScroll)
        {
            obj.transform.position += new Vector3(0, scroll * scrollSpeed * Time.deltaTime, 0);
        }
    }
}


Просто добавьте этот скрипт к объекту, который вы хотите прокручивать, и пропишите в переменные objectsToScroll все объекты, которые вы хотите двигать при скролле. Установите значение scrollSpeed в соответствии с вашими потребностями.


Надеюсь, это поможет вам создать прокрутку объектами в Unity3D!