纳金网

标题: [Unity3D]NGUI之scroll view制作 [打印本页]

作者: 铁锹    时间: 2012-12-16 10:10
标题: [Unity3D]NGUI之scroll view制作
    本文分享的是[Unity3D]NGUI之scroll view制作,作者rancho,原文摘录如下:



1.首先建立一个960*640的背景参考效果如图:





先借用下三国杀的背景图哈,原图大小是960*640,因为我做的both缩放,很不错的.

2.随便做一个atlas。资源在网上随便找一个,等下作为滑动对象。

3.a)在panel下建立两个空的游戏对象,其中pane(view)是等下要展示的view的部分,panel(window)为辅助view展示的,如图



b)给panel(view)添加uidragable panel(script)并设置参数,如图







备注:clipping选择soft clip

size为你需要展示拖动区域的大小,我的展示区域是横向拉动,满屏,图集高度为280.我这里设置稍微大点。就给了300

最下面是选择scroll bar(稍后会给加上)

4.

a)在panel(view)中新建一个空的游戏对象命名为UIGrid

b)给UIGrid添加uigrid脚本

c)设置uigrid脚本参数



备注:uigrid会对其子对象默认排序...

cell width;cell height指在scroll view中的排列的(或者你认为是uigrid的子对象)元素的高和宽

5.给UIGrid添加子节点(这里我添加一个sprite,官网demo是item下再添加sprite。道理是一样)

a)添加sprite并给sprite加上uidragpanelcontents

并设置如图







b)复制几个sprite

6.给panel(window)加一个拉动区域

如图:



7.panel(window)下添加scroll bar

同时要设置,如图



8.添加两个button,动态添加UIGrid下的节点

效果展示下:







9,给button写脚本

add脚本:




public UIGrid grid;

    void Start()

    {

        //获得UIgrid节点

        grid = GameObject.Find("UIGrid").GetComponent<UIGrid>();

        //panel = GameObject.Find("anel-view").GetComponent<UIPanel>();

    }

    void OnClick()

    {

        //载入新的atlas

        UIAtlas atlas = Resources.Load("cardt", typeof(UIAtlas)) as UIAtlas;

        //设置父节点

        GameObject parent = GameObject.Find("UIGrid");

        //添加

        UISprite sprite = NGUITools.AddSprite(parent, atlas, "nvyao");

        sprite.MakePixelPerfect();

        //重设uigrid

        grid.Reposition();

    }
del脚本




public UIGrid grid;



    void Start()    {

        //得到grid对象        grid = GameObject.Find("UIGrid").GetComponent<UIGrid>();



    }



    void OnClick()    {

        GameObject sprite = GameObject.Find("Sprite");        if (sprite != null)

        {            Destroy(sprite);

            grid.repositionNow = ***e;        }

    }





更多Unity3D之NGUIscroll view制作教程尽在Web3D纳金网http://www.narkii.com/




欢迎光临 纳金网 (http://rs.narkii.com/club/) Powered by Discuz! X2.5