纳金网
标题:
[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