ACLLib库设计多定时器方法

ACLLib库可以用定时器自动执行一些事情,但如果有好几件事要执行,每个事件的间隔时间不一样时,又要如何设计这种情况呢?哪ACLLib库里面有多定器可以用吗?以下给出了一个用 ACLLib库设计多定时器的最终效果动图,这里用了两个定时器实现,第一个定时器间隔100MS,第二个定时器间隔1000MS。如下图:

图片中的左边定时器实现动画方法可以看这篇:acllib动线生成圆饼图案之旋转矩阵运用

图片中右边定时器实现动画将在下面内容中讲解。

ACLLib库设计多定时器最终测试动图,左右两个定时器驱动

下面内容将讲解两个问题:

1.图中动画右边多方框如何实现?

先确矩形框的最内中心点(300,70),方框左上点减5,右下点加5,就有了最内的矩形框,每往外层一次左上点减5一次,右下点加5一次。

另外将画刷颜色设成空setBrushColor(EMPTY),不然上次画的矩形框都会被这次遮住,就只有这次画的框。

具体实现函数:

2.用ACLLib库如何实现多定器?

a.先定义定时器要呼叫的两个函数一个是画左边动画timer1,一个是画又边动画timer2。

b.再定义一个函数timer,这个函数里面加入timer1、timer2两个函数的调用,跟据编号用switch语句实现选择调用另一个函数。

c.用ACLLib库的registerTimerEvent(timer)函数设置定时器回调函数。

d.用ACLLib库的startTimer函数设置定时器编号和执行间隔时间。startTimer(1, 100);startTimer(2, 1000);

e.这里定义的编号1,2就是用于switch语句中不同case执行不同的函数,这样就实现了ACLLib库多定时器设计.

如果要定义更多个定时器方法类似,定义好定时器执行函数,加入定时器回调函数内,开始设置定时器(startTimer)编号和执行间隔时间

如以上看的还不是很明白,下面提供了完整的多定时器源代码。

ACLLib库设计多定时器代码如下:

多定时器可执行文件下载地址:

链接:https://pan.baidu.com/s/1RORkL_tAVgaVElP1CIIKAQ
提取码:fwvz

《ACLLib库设计多定时器方法》上有24条评论

评论已关闭。