纳金网
标题:
【转载】NGUI官网示例11 –Drag & Drop(二)
[打印本页]
作者:
艾西格亚
时间:
2012-10-17 12:57
标题:
【转载】NGUI官网示例11 –Drag & Drop(二)
(浙江传媒学院-新媒体学院-数字游戏设计专业-张sir)
为ListPanel创建一个空的游戏对象,并命名为DragDropContainer,reset一下,并为它添加一个Collider(NGUI->Attach a collider),如图所示
在DragDropContainer对象下创建一个空的游戏对象,并命名为Item0,并为其添加一个Collider(NGUI->Attach a collider),接着在Item0下创建一个Sprite和一个SlicedSprite,构成了一个图标,并调整它们的大小和位置,如图所示
选择Item0,使用Ctrl+D复制出三个来,并重新命名为Item1,Item2和Item3,位置没有关系,并把其中的两个Item中的sprite换个图片,如图所示
选择WindowPanel,来设置这个Panel的可见范围。把Clipping设置成SoftClip,参数如下
选择DragDropContainer,为其添加一个Table组件(Component->NGUI->Interaction-> Table),该组件可以自动排列它的子物体,并调整它的位置,其参数和效
果如下
接下来,选择Item0,为其添加一个DragDropItem(Component->NGUI->Example->Drag atl+DropItem),这个组件可以跟已经保存好的Prefab连接起来,把NGUI中
的对应的prefab拖到它的参数中,如图所示
1. 对其他的Item进行相似的操作,只是Prefab的参数不同而已。
现在,点击播放,拖动Item,结果没有任何效果。来解决这个问题,第一,选择UIRoot(2D)下的Camera,然后把UICamera组件中的EventReceiverMask中的参数
设置成2DGUI,这样这个Camera中的消息就只接受这个Layer中的消息;如下图
1. 第二,选择DragDropContainer,修改一下里面的BoxCollider中的Center和Size参数,使其覆盖所有的Item,如下图绿色框所示,
接着,选择Item,会发现,其中的Collider中的Center中的Z值,其值与DragDropContainer中的z值相同,都为0.5,这样可能造成消息指发送给
DragDropContainer而Item接收不到鼠标消息,所以,把所有Item中的Collider中的Z值往外移动一些,如图所示
选择Cube,为其添加一个DragDropSurface组件。
现在点击播放,拖动其中的Item,会发现Item在Panel中消失了,然后拖到Cube上,哈,效果达到了。如图所示
现在在实现item拖动的效果。在UIRoot(2D)下创建一个空的游戏对象,并命名为Anchor-Center,为其添加一个Anchor(NGUI->Attach a anchor),并reset一下
,如图所示
选择Anchor-Center,在其下添加一个Panel(NGUI->Create a panel),并为其添加一个DragDropRoot(Component->NGUI->Example->Drap Drop Root),请注意
UI Root(2D)中的所有对象的Layer都是2DGUI,如图所示
点击播放,ok,成功!
作者:
王者再临
时间:
2012-10-21 00:47
顶一下这个教程,很不错!
作者:
.
时间:
2012-10-25 21:19
顶起
作者:
may
时间:
2012-12-1 23:30
支持楼主的帖子
作者:
王者再临
时间:
2012-12-28 20:26
本帖最后由 艾西格亚 于 2013-10-21 15:02 编辑
学习了,NGUI很好的教程!
作者:
874108309
时间:
2013-10-21 14:40
作者:
小贝公主
时间:
2013-11-8 12:39
!
作者:
orokborokhulu
时间:
2013-11-8 17:13
nice sharing
作者:
PegSan_Li
时间:
2013-11-8 17:42
很棒的教程,感谢分享~
作者:
yingxiongzzj
时间:
2013-12-16 13:39
很棒的教程,感谢分享
作者:
yingxiongzzj
时间:
2013-12-16 13:40
作者:
xueshong
时间:
2014-4-23 16:40
非常不错!继续加油!
欢迎光临 纳金网 (http://rs.narkii.com/club/)
Powered by Discuz! X2.5