how can create touch screen android scroll in unity3d?

android, c#, unity-game-engine

Solution

using UnityEngine;
using System.Collections;

public class scrollView : MonoBehaviour {


    Vector2 scrollPosition;
    Touch touch;
    // The string to display inside the scrollview. 2 buttons below add & clear this string.
    string longString = "This is a long-ish string";

    void OnGUI () { 

        scrollPosition = GUI.BeginScrollView(new Rect(110,50,130,150),scrollPosition, new Rect(110,50,130,560),GUIStyle.none,GUIStyle.none);

        for(int i = 0;i < 20; i++)
        {
            GUI.Box(new Rect(110,50+i*28,100,25),"xxxx_"+i);
        }
        GUI.EndScrollView ();
    }

    void Update()
    {
        if(Input.touchCount > 0)
        {
            touch = Input.touches[0];
            if (touch.phase == TouchPhase.Moved)
            {
                scrollPosition.y += touch.deltaPosition.y;
            }
        }
    }
}

Problem

I want to create an Android game with Unity3d. This game has an upgrade list with a touchable scroll. I use this code to create that but when I move finger in touch screen, scroll move hard and with a jump, I want it to move softly and like Android effects. ``` scrollPosition1 = GUI.BeginScrollView(Rect (0,400,Screen.width,175), scrollPosition1, Rect (0, 0, 650, 0)); // touch screen if(Input.touchCount==1 && Screen.height -Input.GetTouch(0).position.y > 450 - scrollPositionHome.y && Screen.height - Input.GetTouch(0).position.y < 600 - scrollPositionHome.y) { var touchDelta2 : Vector2 = Input.GetTouch(0).deltaPosition; scrollPosition1.x +=touchDelta2.x; } for (i=0;i < ImgSliderProducts.Length;i++) { GUI.DrawTexture(Rect(20+(i* 100),10,100,100), ImgSliderProducts[i],ScaleMode.ScaleToFit,true); } GUI.EndScrollView(); ```

Original source