Unity-NGUI组件UICenterOnChild使对象在UIDarggablePanel居中显示
2014-02-18 16:45
405 查看
在上篇文章中学习了如何拖拽Texture,今天同样是拖拽,不过不同的是对多个对象进行拖拽时要始终让一个对象在拖拽panel中居中显示,参考NGUI官方的示例发现在UIGrid上多加了一个脚本“UICenterOnChild”,下面我对这个脚本做了微改,主要是为了能够清楚的看到当前在中间位置显示的对象到底是哪个!
![](http://img.blog.csdn.net/20140218163235968?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfYmluZ2ZlbmdfOA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
在这之后如果要居中位置做些特别的处理就显得容易多了.....
下面截一张我处理的翻页效果的截图:
/// <summary> /// 获取中间位置上的对象的名字 /// </summary> public string mCenteredObjectName;然后修改public void Recenter()方法中的添加如下红色标记部分,这样我们就能够直接在Grid的属性面板中直接看到居中位置的对象了
if (closest != null) { mCenteredObject = closest.gameObject; // Figure out the difference between the chosen child and the panel's center in local coordinates Vector3 cp = dt.InverseTransformPoint(closest.position); Vector3 cc = dt.InverseTransformPoint(center); Vector3 offset = cp - cc; // Offset shouldn't occur if blocked by a zeroed-out scale if (mDrag.scale.x == 0f) offset.x = 0f; if (mDrag.scale.y == 0f) offset.y = 0f; if (mDrag.scale.z == 0f) offset.z = 0f; // Spring the panel to this calculated position SpringPanel.Begin(mDrag.gameObject, dt.localPosition - offset, springStrength).onFinished = onFinished; mCenteredObjectName = mCenteredObject.name; //当前在中间位置的对象的名字 mCenteredObject.transform.localScale = new Vector3(1.35f, 1.35f, 1.0f); //处于中间位置的对象放大显示 } else mCenteredObject = null;
在这之后如果要居中位置做些特别的处理就显得容易多了.....
下面截一张我处理的翻页效果的截图:
相关文章推荐
- Unity-NGUI组件UICenterOnChild使对象在UIDarggablePanel居中显示
- unity开发 --------- NGUI (UIDragPanelContents、UIDraggablePanel、UICenterOnChild、UIScollBar、SpringPanel)
- NGUI UIcenterOnChild
- NGUI UICenter On Child 在3.69版本中 不能居中!
- 【unity】【NGUI】当把挂在比如UILabel之类NGUI组件的对象对象池化的时候,出现各种问题的原因分析
- 【Unity&NGUI】查找对象并改变颜色的几种方式
- UICenterOnChild
- IoC组件Unity再续~根据类型字符串动态生产对象
- [转]Unity界面插件NGUI核心组件说明
- Unity界面插件NGUI核心组件说明
- Unity界面插件NGUI核心组件说明
- Unity界面插件NGUI核心组件说明(转)
- Unity基于组件的对象模型
- Unity让带有Rigidbody组件的游戏对象停止运动
- unity 动态控制 组件或脚本的激活与关闭 对象的显示与隐藏
- 【unity】NGUI如何使用拖拽组件
- unity gameObject --> center on child
- 【Unity插件】NGUI核心组件之UIAtlas
- [转]Unity界面插件NGUI核心组件说明
- 【Unity编辑器】Case:给选中对象添加组件,实例化对象