【Unity&NGUI】创建NGUI的Scroll View的一些问题以及拓展

来源:互联网 发布:淘宝访问深度怎么算 编辑:程序博客网 时间:2024/06/05 18:14


参考资料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.

NGUI第六课--Scroll View的使用

2.NGUI的监听事件的三种方法

3.

4.

5.

6.


0 0