【Unity&NGUI】创建NGUI的Scroll View的一些问题以及拓展
2017-04-26 21:06
309 查看
参考资料1里面有详细的教程介绍,本文就 参考资料1 的内容,产生的问题 做出详细解释。
--------------------------------------------------------------------------------
(右键-查看图片,可以放大图片)
新建一个 NGUI Sprite作为背景
NGUI-Create-Scroll View,点击新建的Scroll View ,调整大小。
如果Scroll View 的UI Panel 的紫色方框没有出来,如下图所示,选中Scroll View 点击 UI Panel 组件。调整大小,与背景 精灵 一致。
在其新建3个或者4个 精灵(NGUI 0Create- Sprite),调整大小。(为了使其 效果突出,除此图 为3个 精灵图片,下面都是数量为4。)
为这4个NGUI Sprite 添加组件 Box Collider,和 UIDragScrollView脚本(下面会谈到如何添加该脚本)。
点击Box Collider 的Edit Collider,如下图中间的红色圆圈所示,该精灵 的Box Collider 的范围 为一个点。如果 不调整Box Collider 的f和该精灵的图片大小一致。
就会出现点击无效的后果。
(Scene视图中间 有4个小图标,请不要在意,这是因为导入了ProBuilder Basic ,请自行在Asset Store中搜索)
Component - NGUI - Interaction - Drag Scroll View
就可以添加NGUI 的UIDragScrollView脚本组件。
运行,就拖动鼠标 就可以 显示了。
为什么会有两个 显示呢。这是因为有两个摄像头上面的Main Camera 是Unity自身的摄像头,UI Root 下面 的Camera是NGUI的摄像头。
如果要避免 同一屏幕有两个 显示,就必须 把UI Root 的坐标更改,或者采取其他的方法。
--------------------------------------------------------------------------------下面来讲下拓展
如果要使得 这个NGUI的Scroll View的Sprite 精灵 的滑动 通过鼠标响应,该怎么办。
获得了该精灵 的 Box Collider。
添加 Event Listener 以及 Event Trigger 组件。
设置当鼠标点击的时候调用Test1公共函数。用来显示结果(如果该函数为私有函数,则不可被其他脚本调用。)
鼠标点击一次,却显示了2次结果。(按下的时候调用了一次,单击结束的时候又调用了一次。)
把触发方式从On Click/Tap 改为 On Double-Click/Tap 的时候,单击一次,就只显示一次结果。
更正【发现是同一场景 的另外 一个脚本 调用显示了222,事件监听的On Click/Tap 鼠标单击的时候 只调用一次结果,On Double-Click/Tap 鼠标双击的时候 调用一次结果】
---------
参考资料2,无论是用Event Listener 还是NGUI-Attach- Button Script,都是可以调用事件,使用NGUI-Attach- Button Script则是可以,使得按钮变色,以及其他操作。
但是Event Listener可以添加组件NGUI-Tween-Position等信息,也是可以实现同样的效果。
---------
--------------------------------------------------------------------------------
参考资料:
1.
3.
4.
5.
6.
--------------------------------------------------------------------------------
(右键-查看图片,可以放大图片)
新建一个 NGUI Sprite作为背景
NGUI-Create-Scroll View,点击新建的Scroll View ,调整大小。
如果Scroll View 的UI Panel 的紫色方框没有出来,如下图所示,选中Scroll View 点击 UI Panel 组件。调整大小,与背景 精灵 一致。
在其新建3个或者4个 精灵(NGUI 0Create- Sprite),调整大小。(为了使其 效果突出,除此图 为3个 精灵图片,下面都是数量为4。)
为这4个NGUI Sprite 添加组件 Box Collider,和 UIDragScrollView脚本(下面会谈到如何添加该脚本)。
点击Box Collider 的Edit Collider,如下图中间的红色圆圈所示,该精灵 的Box Collider 的范围 为一个点。如果 不调整Box Collider 的f和该精灵的图片大小一致。
就会出现点击无效的后果。
(Scene视图中间 有4个小图标,请不要在意,这是因为导入了ProBuilder Basic ,请自行在Asset Store中搜索)
Component - NGUI - Interaction - Drag Scroll View
就可以添加NGUI 的UIDragScrollView脚本组件。
运行,就拖动鼠标 就可以 显示了。
为什么会有两个 显示呢。这是因为有两个摄像头上面的Main Camera 是Unity自身的摄像头,UI Root 下面 的Camera是NGUI的摄像头。
如果要避免 同一屏幕有两个 显示,就必须 把UI Root 的坐标更改,或者采取其他的方法。
--------------------------------------------------------------------------------下面来讲下拓展
如果要使得 这个NGUI的Scroll View的Sprite 精灵 的滑动 通过鼠标响应,该怎么办。
获得了该精灵 的 Box Collider。
添加 Event Listener 以及 Event Trigger 组件。
设置当鼠标点击的时候调用Test1公共函数。用来显示结果(如果该函数为私有函数,则不可被其他脚本调用。)
鼠标点击一次,却显示了2次结果。(按下的时候调用了一次,单击结束的时候又调用了一次。)
把触发方式从On Click/Tap 改为 On Double-Click/Tap 的时候,单击一次,就只显示一次结果。
更正【发现是同一场景 的另外 一个脚本 调用显示了222,事件监听的On Click/Tap 鼠标单击的时候 只调用一次结果,On Double-Click/Tap 鼠标双击的时候 调用一次结果】
---------
参考资料2,无论是用Event Listener 还是NGUI-Attach- Button Script,都是可以调用事件,使用NGUI-Attach- Button Script则是可以,使得按钮变色,以及其他操作。
但是Event Listener可以添加组件NGUI-Tween-Position等信息,也是可以实现同样的效果。
---------
--------------------------------------------------------------------------------
参考资料:
1.
NGUI第六课--Scroll View的使用
2.NGUI的监听事件的三种方法3.
4.
5.
6.
相关文章推荐
- 【Unity&NGUI&UGUI】2D精灵物体变色彩透明以及图片高亮变色的方法
- 【Unity&NGUI】背包系统显示隐藏问题
- 【Unity&Atlas】NGUI与UGUI打包图集的步骤以及比较
- 关于新创建一个虚拟机以及多台机器ssh无密登录的一些细节问题补充
- 静态变量、实例变量初始化时机,以及子类隐藏父类成员时,创建子类对象的一些问题
- 【Unity&NGUI】背包拖拽问题&物体穿透
- 【Unity&NGUI】背包,技能栏,Grid自动排序以及代码使用的条件
- 【Unity&对象数组】如何创建一个长度不确定的对象数组以及使用方法&墙壁单元方块对象数组
- Android NDK:②第一个NDK程序(创建步骤&一些问题)
- 【Unity&NGUI】Label的颜色动态改变以及渐变颜色
- 【Unity&NGUI】改变NGUI的圆环Sprite透明度的几种方法以及利弊
- PowerDesigner16.5快速入门显示,注释comment配置方法,以及创建sql文件过程中需要注意的一些问题
- linux如何创建和管理多个不同模式的bond的以及一些细节问题
- 【Unity&NGUI】圆环血条制作&以及多层圆环血条的实现
- 【Unity&NGUI】两个摄像机重合,UI多次重复显示问题
- 关于Unity项目中创建项目遇到的一些问题
- MongoDb 创建用户以及其他版本造成的一些问题
- PowerDesigner16.5快速入门显示,注释comment配置方法,以及创建sql文件过程中需要注意的一些问题
- C++Builder中关于INDY库的使用 以及一些问题的解决(E2238 Multiple declaration for 'fd_set')
- 【Unity&继承】关于继承的一些问题