CSDN热搜
这里我们定义为string类型,一是方便后续扩展,如果定义为bool、int、甚至是enum,扩展性都不太好,因为后续的连线可能是第三方自定义的,非string类型要么阅读性不好要么扩展性不好;二是方便后续动态反射,这个对于后续开放用户自定义形状是必要的。
注:从本节开始,课程代码就提交到了GITEE上了,大家可自行拉取编译。
注:近期阶段支持上、下、左、右四个连接点已经足够用了,当然后期我们会开放此限制,完全的由派生类自行定义有多少个连接点、各连接点的坐标又是哪里。
注:为了讲解课程需要,是重新下定义了个基类: ShapeBaseV2,大家自行实现时直接修改原类即可。下同,不再赘述。
注:这种方式看文首的演示视频就会发现用起来很繁琐,不直观。我们要一点点深入,在后面我们就会对其改造成鼠标点击开始形状的某一连接点,然后拖动着去结束形状的某一连接点,松开鼠标完成连线操作,而且在拖动时会实时显示连接的半透明虚线效果。
随课代码为了每节课不干扰,所以需要重新修改画布、程序等等。
使用道具 举报
本版积分规则 回帖并转播 回帖后跳转到最后一页
程序园优秀签约作者
0
粉丝关注
20
主题发布