转载请说明原出处,谢谢 今天本来打算把仿酷狗播放列表的子控件拖动插入功能做一下,但是仔细使用播放列表控件时发现了几个逻辑错误,由于我的播放 列表控件是基于CTreeViewUI和CTreeNodeUI做得,所以产生这几个bug的原因还在于他们两个,在<仿酷狗音乐播放器开发日志十一 ——CTreeNodeUI的bug修复>中已经修复过一个动态添加控件的相关bug,这属于第二次修复了.关于第一次bug的修复,后来 Duilib扩展群的 joe 又进行过比我更全面的修复,我现在使用的CTreeVie…
  今天的任务是实现选中接触点功能并添加模型或接触点的属性改变功能,先从最简单的位置x,y,z改变入手,于是创建了一个面板(PanelStatus),添加了几个InputField来让用户输入数值改变选中物体的位置:   搞了半天终于实现了选中接触点功能,选中的球是青色,未选中的是红色,为了尽量重用以前的代码,我直接在之前的脚本上做了修改,效果如下:   然后又实现了选中物体显示和修改坐标信息的功能:   还挺好玩的,接触点的位置也能修改.   光修改位置还不够,于是又增加了修改旋转角度和缩放大…
  增加了输出接触点信息到文件功能.…
  在vs2017里生成opencv时遇到了无法打开python27_d.lib的问题,具体解决请看这个,不过我用的是方法2,python37_d.lib找不到同理.   Windows下可以用的opendr…
  今天想着在Windows平台上跑通那个代码,不过它的官网上写的支持平台不包括windows,但我还是想试试,因为看他的依赖好像和平台的关系不是特别大.   看了下它的py代码,不知道是py2还是py3,于是干脆py2和py3上都试下.它的py依赖都在requirements.txt文件中: numpy>=1.11.0 scipy>=0.17.1 chumpy opendr matplotlib   其它的直接用pip安装就好,就是这个opendr在Windows10上装的时候有问题: Ex…
  为了使工具更人性化,我又在每个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  …