修复显示部分-连接模块的bug2018-12-04

可视化人工神经网络开发日记

今天又是让人脱发的修复bug环节,先来看看有什么bug:

1、在缩放操作的时候,有两个线程对同一个字典操作了,出现了以下bug:


图1

我决定加个锁;

2、有时候鼠标move这个输入会在离开窗口的时候null,如果组件管理部分没有刷新完成会出现以下bug:


图2

因此我决定上个锁,并且把置null删除,让它不null了,反正位置不会变;

3、由于在快速移动鼠标的时候,可能会导致连接长度变成0,因此导致一个小块都没有了,无法更新长度,为了应对这种情况,

当长度小于一个小块的长度时,置长度为一个小块长度;

4、为每个组件加一个新函数,复选判断,判断组件是否在这个矩形范围内,选中就返回true,没有选中就返回false;


图3

这下代码简洁多了,另外扩展性也很好;

5、我为连接组件也加了复选判断函数,只要全部小块没有被全框住,就不会判断为这个连接组件被选择:

图4
图5


图6


图7

6、写了一个连接的单击选定函数,也叫碰撞函数,就是说如果鼠标停在那个地方,连接就会高亮,

说实话这个比上面那些函数要复杂,相当于这个坐标是否落在这个不规则几何图形的判断(这个写+调试大概一小时⑧,太菜了):

图8


图9


图10

7、滚轮操作和移动操作一起用的话会导致组件错位,所以我把它们弄成互斥事件了;

今天到此结束###&&&

上一篇日记:没有

下一篇日记:增加了一个删除功能和修复了一个bug2018-12-05

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 最近我有一个烦恼,确切地说,这个烦恼由来已久:我发现我总是听不懂别人在说什么,更别说话语背后的真正含义。每天都会接...
    Lettice_W阅读 1,898评论 0 0
  • 幸福是什么?幸福是刚出生的婴儿依偎在母亲的怀抱,微闭双眼,贪婪地吮吸着乳汁,舔舔小嘴的时刻;幸福是教室的少年,端正...
    流年的等候阅读 1,261评论 0 0
  • 在漫长的人生旅途上,我们看到的风景,感受到的喜悦,都希望有一个能懂的人,可以相伴携手分享。人海茫茫,怎样才...
    誮敏儿阅读 4,531评论 0 0
  • 作者:小泽 图片:来源于自己的 编辑:小泽工作室 纹身对于老一辈或者是极大部分的年轻人来说,有纹身的人一定不是什么...
    世界不真不假愿你待我真阅读 3,030评论 1 0