过了好久,之前一段时间在焦虑找工作的事情,虽然结果也不怎么样。 先放出现在最新的照片(虽然看样子没什么变化,其实内部发生了翻天覆地的变化) 1.从写了绘图函数 2.添加了无效区机制 2.使用了矩形切割算法 在这一周遇到了一个一直很难解决的问题,就是关于覆盖刷新的问题。 如图:(怎么就刷新button ,还要继续保证继续被覆盖区域覆盖) 之前使用的是当刷新下面的button的时候,就把所有的覆盖区都刷新一遍,但是这样不实际,要是覆盖区特别大呢?刷新就会出现闪屏。 相信其他GUI一定不是这么做的。 后来我引入了无效区,把覆盖的区域设为无效区,每次刷新时只刷新不是无效区的区域。 如图: 剩下就是一个多边形,这时候就是用矩形切割了。具体实现就不说了(我做的有点复杂,有兴趣自行百度。) 这样就切割成多个矩形,然后依次打印。
当然,要想回复被覆盖的区域,矩形切割依然有效,对覆盖区进行切割,就可以只刷新被覆盖的区域。 以上的想法都必须建立在重绘绘图函数的情况。(一脸懵逼) 这样被覆盖的控件如何改变都不会影响到上面的控件了。 如果有兴趣下载看看,一定比之前好很多。
废话不多说直接上地址: gitHub:https://github.com/909452726/TGUI 百度云:链接:https://pan.baidu.com/s/1jHNqJjC 密码:dcnm 码云:https://gitee.com/null_834_4211/TGUI
|
|