如何判断NGUI的ScrollView是否正在移动

如何判断NGUI的ScrollView是否正在移动,第1张

首先,我们应该了解ScrollView (带上item)滑动或者移动的原理, 其实SrollVieW的滑动或者移动,是移动ScrollView的GameObject的位置,而Scrollview的item其实是作为ScrollView对象的子物体跟随父物体一起移动的。

然后,利用主动查看方法就很容易得到一个ScrollView是否正在移动了,具体的思想就是在update中查看ScrollView物体的位置,如果位置发生变化,就说明移动,如果没有变化,就说明没有移动。

总结:

1、NGUI与UGUI的区别

2、uGUI的Canvas 有世界坐标和屏幕坐标

3、uGUI的Image可以使用material

4、UGUI通过Mask来裁剪,而NGUI通过Panel的Clip

5、NGUI的渲染前后顺序是通过Widget的Depth,而UGUI渲染顺序根据Hierarchy的顺序,越下面渲染在顶层

6、UGUI 不需要绑定Colliders,UI可以自动拦截事件

7、UGUI的Anchor是相对父对象,没有提供高级选项,个人感觉uGUI的Anchor *** 作起来比NGUI更方便

8、UGUI没有Atlas一说,使用Sprite Packer

9、UGUI的Navigation在Scene中能可视化

10、UGUI的事件需要实现事件系统的接口,但写起来也算简单

2各自的优缺点

1) NGUI还保留着图集,需要进行图集的维护。而UGUI没有图集的概念,可以充分利用资源,避免重复资  源。

2) UGUI出现了锚点的概念,更方便屏幕自适应。

3) NGUI支持图文混排,UGUI暂未发现支持此功能。

4) UGUI没有 UIWrap 来循环 scrollview 内容。

5) UGUI暂时没有Tween组件。

3使用选择总结

UGUI由于是Unity原生支持的,所以使用上会更加的人性化。并且伴随着版本升级功能会越来越强,逐渐将成为主流ui方案。NGUI是UGUI出现之前的产物,通过MeshRenderer来实现类似CanvasRenderer的功能,概念上有点蹩脚。作为一个插件虽然已最大努力让UI开发工作变得简单,但相比能够让UnityEditor做出相应修改的UGUI(如RectTransform的出现),其易用性是没法比的。综合来说,新的项目建议使用UGUI,学习成本不高,工具流更有助于提高开发效率。

你这样实例化后,是在UIroot外面的,而NGUI的各部件是必须要在UIRoot里面的(子物体),于是,NGUI会自动把外面的你实例化后的物体移到UIRoot里面,这个过程会默认将位置至于原点000处。。。

正确做法是,实例化后,将实例化后的物体主动指定父物体(一般是个pannel),并将localposition赋值。

如有疑问,再问~~

以上就是关于如何判断NGUI的ScrollView是否正在移动全部的内容,包括:如何判断NGUI的ScrollView是否正在移动、NGUI与UGUI的区别、unity3D在插件NGUI中用Instantiate生成预制件的位置总是0等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9778007.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存