30天自制操作系统之第11天 制作窗体

这一节尽管题目是“制作窗体”,但实际上制作窗体仅仅需用像素画一个就可以,难点是因为增加了计数器,会出现闪烁的情况,这里就讲一下消除闪烁的做法。


counter窗体在疯狂的计数,鼠标放在飞了的数字上,会出现闪烁,解决方法是:在每次画面的又一次绘制中,仅仅绘制counter所在的图层,让鼠标所在的图层不用进行绘制。依据这个思路,详细的方法例如以下。


我们用不同的数字代表不同的层,2便是counter窗体所在层,3是鼠标所在层,1是背景层。我们用map数组来存储上面的信息,当绘制图层1时,遍历map,遇到1,便绘制;之后绘制图层2,遍历map,遇到2进行绘制;同理,图层3也如此。这样对于counter窗体在显示计数的情况,在每一次计数后的画面绘制中,仅仅需遍历map,遇到2进行绘制,便能够不用再又一次绘制鼠标图层,从而消除了鼠标因自身不停被覆盖再绘制产生的闪烁。





posted on 2014-09-19 16:36  gcczhongduan  阅读(305)  评论(0编辑  收藏  举报