如何在Unity游戏中滚动?

时间:2014-02-10 14:46:14

标签: popup unity3d

我正在开发一款游戏。我想要弹出一个有12个按钮。弹出窗口时,它有6个GUI按钮和6个按钮(向下)滚动。我怎么能在同一个弹出的NGUI插件中做到这一点?

1 个答案:

答案 0 :(得分:0)

我使用了这个逻辑

if(Input.touchCount>0)
    {
        if(Input.GetTouch(0).phase==TouchPhase.Began)
        {
            dist=0f;
            tm=0f;
            speed=0f;
        }
        if(Input.GetTouch(0).phase==TouchPhase.Moved)
        {
            scrollPosition.y+=Input.GetTouch(0).deltaPosition.y;
            dist+=Input.GetTouch(0).deltaPosition.y;
            tm+=Time.deltaTime;
        }

        if(Input.GetTouch(0).phase==TouchPhase.Stationary)
        {
            dist=0f;
            tm=0f;
        }
        if(Input.GetTouch(0).phase==TouchPhase.Ended)
        {
            if(tm>0)
                speed=dist*0.01f/tm;
            else
                speed=0f;
        }
    }
    else
    {
        if(speed>0)
        {
            speed-=moveValue;
        }
        else if(speed<0)
        {
            speed+=moveValue;
        }

        if(speed>-moveValue && speed<moveValue)
            speed=0f;

        scrollPosition.y+=speed;
    }

在OnGUI()里面

scrollPosition = GUI.BeginScrollView (new Rect (0f,150f,800f,480f),scrollPosition, new Rect (0f, 0f, 800f, 400f));

使用您自己的Rect坐标。另请参阅docs