【3D技术宅公社】XR数字艺术论坛  XR技术讨论 XR互动电影 定格动画

 找回密码
 立即注册

QQ登录

只需一步,快速开始

调查问卷
论坛即将给大家带来全新的技术服务,面向三围图形学、游戏、动画的全新服务论坛升级为UTF8版本后,中文用户名和用户密码中有中文的都无法登陆,请发邮件到324007255(at)QQ.com联系手动修改密码

3D技术论坛将以计算机图形学为核心,面向教育 推出国内的三维教育引擎该项目在持续研发当中,感谢大家的关注。

查看: 6840|回复: 0

[NGUI插件] NGUI 3.0.X官网示例1 自适应屏幕分辨率的UI位置处理

[复制链接]
发表于 2013-12-23 16:08:02 | 显示全部楼层 |阅读模式
这部分3.0和以前的版本基本上是一样的,修正了其中的部分改变的菜单:
一、Example 1 – UIAnchor
该例子是演示NGUI中使用Anchor组件实现GUI对齐的功能。其最终效果如下:


下面一步一步实现该例子。
1. 删除新建的场景的Main Camera摄像机,在图层中新建一个GUI层,接着,选择菜单上的NGUI->Open-->UI Wizard,弹出该对话框,设置如图所示:

2. 最后点击Create Your UI按钮,可以在Hierachy窗口中自动生成下面的树状结构:

3. 把Panel的父物体改成Anchor,如图所示:

4. 把该Anchor命名为Anchor-Bottom,并为该对象添加一个空游戏对象,并命名为offset,并reset它的变换。该空游戏对象可以用于它下面子对象与该Anchor之间的偏移量。如图所示:

5. 选中offset,选择菜单中的NGUI-> Open -> widget Wizard,弹出一个Widget Tool对话框,选择Atlas为Fantasy Atlas和Fonts为Fantasy  Fonts,该对话框基本是用于制作按钮(Buttom)、标签(Label)等部件的对话框。设置其参数之后,并点击Add To按钮,确保该按钮后面的对象是offset。这就在offset下生成一个Label便签,并把标签的文本改成Bottom,如图所示:



6. 以同样的方法在offset中添加一个slicedsprite。记住该对象的深度应该比Label要小,不然Label就会被覆盖而看不到。这里设置label的深度(depth)为0,而slicedsprite为-1,并在编辑器中调节该元素的大小,如图所示:



7.  最后一步,选择Anchor-Bottom,设置该元素的对齐方式(side)为“Bottom”。选择之后,它会自动把它自己对其到摄像机的最低端,我们可以通过offset来调节该元件和Anchor之间的偏移量。如图所示:



8. 他的7个Anchor可以使用Ctrl+D复制出来,并更改Anchor的不同的方式来对齐到不同的位置上,并在编辑窗口中调整offset的位置,其结果如图所示:


9. 最后来制作其背景,新建一个空的游戏对象,并最后Panel的子物体,并reset它的变换。命名为Anchor-background,并在NGUI菜单中,选择Attach an Anchor,此时该空游戏对象就成为了一个Anchor,并设置对齐方式为center。


10. 接着以Anchor-backgournd作为父物体,新建一个名为window的空游戏对象,如图所示,window游戏对象只是为了方便管理而设置的一个辅助对象而已。





11. 在window下面,使用Create Widget面板创建一个slicedSprite,其参数如下:


12. 在编辑窗口中缩放该对象,使其对齐到窗口,并把其深度(Depth)设置成-2。最终效果如下:


13. 接下来,给他添加一个多行Label,同样使用widget Wizard对话框,其参数如下:


14.     在其文本内容框中写入需要的文字,当然,因为现在使用的是英文字体,所以中文是显示不出来的。在NGUI3.0中已经完美支持中文动态字体,这将在后面的例题中为大家介绍。如图所示,并把深度(depth)改为-2,把Line Width设置成500,可以设置显示每行文字的宽度。
Label中的文字支持[FF0000]要改变颜色的字体[-]这样的标记语言。如图所示:


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

本版积分规则

手机版|小黑屋|3D数字艺术论坛 ( 沪ICP备14023054号 )

GMT+8, 2024-11-27 09:47

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表