转载请说明原出处,谢谢 今天本来打算把仿酷狗播放列表的子控件拖动插入功能做一下,但是仔细使用播放列表控件时发现了几个逻辑错误,由于我的播放 列表控件是基于CTreeViewUI和CTreeNodeUI做得,所以产生这几个bug的原因还在于他们两个,在<仿酷狗音乐播放器开发日志十一 ——CTreeNodeUI的bug修复>中已经修复过一个动态添加控件的相关bug,这属于第二次修复了.关于第一次bug的修复,后来 Duilib扩展群的 joe 又进行过比我更全面的修复,我现在使用的CTreeVie…
  在vs2017里生成opencv时遇到了无法打开python27_d.lib的问题,具体解决请看这个,不过我用的是方法2,python37_d.lib找不到同理.   Windows下可以用的opendr…
  为了使工具更人性化,我又在每个status的text上绑了个可以拖拽实现值改变的脚本,但是不知道为啥rotx那个值越过+-90范围后连续修改就会产生抖动的现象,试了很多方法也没能弄好,不过实际用起来问题应该不大.   不过拖拽时鼠标碰到屏幕边缘就动不了了,于是我想像unity那样可以让鼠标出现在屏幕的另一边,这样就拖拽起来就更加的方便.   关于如何实现该功能请看完下列教程:   1.unity中锁定鼠标移动&&隐藏鼠标&&强制是鼠标移动到某一位置   2.C# 鼠标光…
  增加了输出接触点信息到文件功能.…
  今天实现了tab效果,按tab键可以在status面板的各个输入框内来回切换,参考Unity3D - UGUI实现Tab键切换输入框.按钮(按Tab键切换高亮显示的UI)…
  调了一上午才发现是把下面这个函数: private float DivideTriangle(int []triangle,out int []outTriangle,List<Vector3> vertices)//切割三角形 { float re = -1; int p = 0; for (int i = 0; i < 3; i++) { int a = triangle[i]; int b = triangle[(i + 1) % 3]; var len = (vertices…
  有时候拖动一个窗口的时候可能直接拖出去了那就再也拖不回来只能reset重新来过:   于是开了个类成员变量在start里记录了一下panel的位置: var lp = panel.GetComponent<RectTransform>().localPosition; localPosition = new Vector2(lp.x,lp.y);   在OnClick中将其复原: panel.GetComponent<RectTransform>().localPosition…
  貌似每次让用户手动输入文件路径太不人道了,于是参考Unity 实用教程 之 调用系统窗口选择文件或路径增加了让用户浏览文件的功能,点击输入框旁边的+就可以找到文件并加载进来:   貌似调整位置再计算接触点是假的,原因应该是我计算用的点的坐标知识mesh原来的点的坐标,并没有考虑缩放.位移和旋转这些因素:   要想将变换应用到mesh.vertices上,可以参考Matrix4x4.TRS Creates a translation, rotation and scaling matrix  …
  因为ReferenceImage的锚点是固定的左下角,缩放时controller面板也会跟着动.为了使Scale的时候controller上的slider不会远离指针,于是把controller固定到了左下角.   在网上找了半天也没有找到好的在图像上画球的方法,没办法只好用image来当求了,放上球的照片即可.得把三维坐标转到UI坐标里,具体方法请看Unity3D 世界坐标上一个点对应UI上一个点.   于是具体的玩法就是先计算接触点,再把图片和三维物体对齐,点击Overlay按钮,就会生…
  要是那几个状态栏不能拖动的话岂不是显得太呆板了,于是我又参考Unity官方视频教程学习了如何实现拖动状态栏的功能,还挺简单的.   比如说要拖动这个PanelStatus面板,我只让使用者通过拖动其Text组件来实现拖动整个面板移动的效果.   只要为其Text绑定一个DragPanel.cs脚本,代码如下: using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEn…