查看: 5277|回复: 7
打印 上一主题 下一主题

[教程] 【转载】NGUI官网示例 8 – Scroll View(Camera)

[复制链接]

955

主题

164

听众

7万

积分

版主

Rank: 7Rank: 7Rank: 7

纳金币
59338
精华
28

活跃会员 荣誉管理 突出贡献 优秀版主 论坛元老

跳转到指定楼层
楼主
发表于 2012-10-11 15:42:16 |只看该作者 |倒序浏览
(浙江传媒学院-新媒体学院-数字游戏设计专业-张sir)



在上一个示例中的ScrollView使用到了Shader的处理,而对于一些低端的机器或者移动设备可能会出现显示不正常的结果,所以,NGUI还为我们准备了另外一个处理方式,也就是通过摄像机的移动来达到同样的目的。接下来,这个示例就是告诉大家如何实现这个功能。



首先先制作一个普通的GUI界面,这些界面在上面的教程中已经说过,这里就不再赘述,其最终效果如图所示:







现在来制作那些可以滚动的Item结构。使用Create  a new UI创建一个NGUI基本结构,并调整它们的层次关系,并把UIRoot下的Panel组件删除掉,最终如图所示:







新建一个新的空游戏对象,并命名为Offset,并放置在anchor成为它的子物体,并reset一下,同时给它添加一个Panel组件(Component->NGUI->Interation-> Panel),这样,该对象才能放置NGUI元件。如图所示:







同NGUI官网示例7-- ScrollView讲解(一) 一样,创建1个Item元件,然后用Ctrl+D的方法复制出9个来,当然你也可以复制你需要的数量,现在这些Item都是重叠在一起的,最终效果如图所示:







选择Offset,为其添加一个Table组件(Component->NGUI->Interaction -> Table)。哈,神奇的效果在此出现,只是上一个教程使用Grid组件,这次使用的是Table,这个Table和Grid的不同,可以查下官网的说明。这里不赘述。如图所示:







选择第一次创建的GUI结构,选择Window下的TiledSprite,如图所示:







在下面创建两个空的游戏对象,并分别命名为BottomRight和TopLeft,这两个空对象用来标记滚动Item的边界,并在场景编辑窗口中放置在对应的位置,最后为该TiledSprite添加一个UIDragCamera组件(Component->NGUI->Interation -> DragCamera)如图所示:





选择第二个Camera,为其添加一个ViewCamera组件(Component->NGUI->UI-> ViewCamera),并把第一个摄像机赋值给SourceCamera,把TopLeft对象赋值给Top Left,把BottomRight赋值给Bottom Right,然后选择Offset,调整该对象的位置,如图所示:





为该摄像机添加一个DraggableCamera组件(Component->NGUI->Interaction-> DraggableCamera),并为其设置参数,如图所示







再次选择刚才添加了两个空对象的择Window下的TiledSprite,把第二个Camera赋值给该元件中的DragCamera组件中的DraggableCamera,其结果如下:







接着同样选择该TiledSprite,为其添加一个Collider,这样,才能接受输入信息(NGUI-> Attach a Collider)。看结果,结果一个点击播放,成这样了?!虽然能够接受到输入信息,但是拖不动?







原来,在第二个GUI结构中的Anchor对象中,原来默认组件UIAnchor中的参数UICamera是第二个摄像机,我们现在把它改成第一个摄像机,再点击播放,Well Done!成功了!







接着给每个Item添加一个DragCamera组件(Component->NGUI-> Interaction -> DragCamera)和一个Trigger(Ngui->Attach a Collider)。再为其添加一个ButtonScale组件和一个buttonSound组件(都在Component->NGUI->Interaction中)







最后来实现那个Press me按钮。首先,选择Window对象,为其添加一个TweenPosisiton组件(Component->Tween->osition),并关闭它(我们将用按钮来开启它),并设置它的参数,如图所示:






分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

955

主题

164

听众

7万

积分

版主

Rank: 7Rank: 7Rank: 7

纳金币
59338
精华
28

活跃会员 荣誉管理 突出贡献 优秀版主 论坛元老

沙发
发表于 2012-10-11 15:45:11 |只看该作者
这个教学案例非常的实用,推荐大家多研究
回复

使用道具 举报

may    

8830

主题

81

听众

7万

积分

首席设计师

Rank: 8Rank: 8

纳金币
52336
精华
343

最佳新人 热心会员 灌水之王 活跃会员 突出贡献 荣誉管理 论坛元老

板凳
发表于 2012-11-30 21:10:27 |只看该作者
支持楼主的帖子
回复

使用道具 举报

2317

主题

54

听众

2万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
20645
精华
62

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

地板
发表于 2012-12-1 01:28:37 |只看该作者
支持张老师的教程,从这个例子里面学习到了Scroll view的制作观念。
回复

使用道具 举报

0

主题

2

听众

3238

积分

中级设计师

Rank: 5Rank: 5

纳金币
0
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

5#
发表于 2014-1-13 22:17:35 |只看该作者
感谢分享
回复

使用道具 举报

4

主题

1

听众

323

积分

设计实习生

Rank: 2

纳金币
43
精华
0

最佳新人

6#
发表于 2014-3-14 15:03:33 |只看该作者
正好需要这个东西,大赞楼主!!!
回复

使用道具 举报

0

主题

1

听众

188

积分

设计实习生

Rank: 2

纳金币
21
精华
0

最佳新人

7#
发表于 2014-4-23 17:06:55 |只看该作者
好好学习,天天吃面
回复

使用道具 举报

0

主题

1

听众

584

积分

初级设计师

Rank: 3Rank: 3

纳金币
1
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

8#
发表于 2014-4-23 23:11:20 |只看该作者

Thanks for sharing!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2024-11-27 13:46 , Processed in 0.103346 second(s), 28 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部