如何在Unity3d中为Android滚动Gui.Window?

时间:2013-09-30 21:02:02

标签: android scroll unity3d

我尝试在Android上滚动带有触摸屏的GUI.Windows,但我找不到任何可以做到的事情。

我有以下代码:

function OnGUI() {
    windowHome = GUI.Window(2, Rect(Screen.width/3,Screen.height/2,(Screen.width/3)*2,Screen.height/4), WindowFunctionHome, " ");
}

function WindowFunctionHome (windowID : int) {
    GUI.BeginScrollView (Rect (10,300,100,100),scrollPosition, Rect (0, 0, 220, 200));  

    for(var i=0;i < ImgSliderProducts.Length;i++)
    {
        GUI.DrawTexture(Rect(20+(i* 100),10,100,100), ImgSliderProducts[i],ScaleMode.ScaleToFit,true);
        GUI.Label(Rect(20+(i* 100),110,100,20),ArabicFixer.Fix(ImgSliderName[i]));
        GUI.Label(Rect(20+(i* 100),130,100,20),ArabicFixer.Fix(ImgSliderFee[i]));
    }

    GUI.EndScrollView ();   
}

启用滚动需要做什么?

1 个答案:

答案 0 :(得分:0)

GUI.BeginScrollView(...)是一个返回Vector2的静态函数。此返回值是已修改的scrollPosition。与大多数Unity的即时模式UI构造一样,这是您应该在下一次迭代时反馈到函数调用中的值。

所以至少应该看起来像

scrollPosition = GUI.BeginScrollView (Rect (10,300,100,100),scrollPosition, Rect (0, 0, 220, 200));