下面是我找到的关于ngui scrollview的制作过程。希望对有需要的同学有帮助。
size为你需要展示拖动区域的大小,我的展示区域是横向拉动,满屏,图集高度为280.我这里设置稍微大点。就给了300
最下面是选择scroll bar(稍后会给加上)
b)给UIGrid添加uigrid脚本
cell width;cell height指在scroll view中的排列的(或者你认为是uigrid的子对象)元素的高和宽
1.首先建立一个960*640的背景参考
效果如图:
先借用下三国杀的背景图哈,原图大小是960*640,因为我做的both缩放,很不错的.
2.随便做一个atlas。资源在网上随便找一个,等下作为滑动对象。
3.a)在panel下建立两个空的游戏对象,其中pane(view)是等下要展示的view的部分,panel(window)为辅助view展示的,如图
b)给panel(view)添加uidragable panel(script)并设置参数,如图
size为你需要展示拖动区域的大小,我的展示区域是横向拉动,满屏,图集高度为280.我这里设置稍微大点。就给了300
最下面是选择scroll bar(稍后会给加上)
4.
a)在panel(view)中新建一个空的游戏对象命名为UIGridb)给UIGrid添加uigrid脚本
c)设置uigrid脚本参数
cell width;cell height指在scroll view中的排列的(或者你认为是uigrid的子对象)元素的高和宽
5.给UIGrid添加子节点(这里我添加一个sprite,官网demo是item下再添加sprite。道理是一样)
a)添加sprite并给sprite加上uidragpanelcontents并设置如图
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("Panel-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();
- }
- 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 = true;
- }
- }