与clutter相关的对象有:
master_clock
timeline
score
alpha
behaviour
actor
master_clock是系统最基本的定时器,就像一个时钟,不停地在走动。这是一个内部对象,用户不可见。
timeline是一个时间片,也可以认为是一个发生器,它根据用户的需求产生定时的信号。
score是对timeline的一个封装,它通过对timeline的组合实现复杂的定时需求。
alpha是一个过滤器,它把timeline产生的等长时间片值转换为用户需要的不同的值,类似于一个以时间为输入变量的函数。
behaviour是用来将alpha产生的变换值作用在actor对象相关变量的对象。
actor是需要产生动画效果的对象。
他们之间的关系是:
master_clock包含有1个或多个timeline,它会将时间滴答告诉各个timeline。
timeline会产生信号。
alpha将自己与某个timeline绑定,接收timeline产生的信号。然后通过内部函数将信号转换为输出数值,产生new_frame信号。
behaviour将自己与一个alhpa绑定,接收alhpa产生的信号。另外它也绑定多个actor。当接收到aplha的信号时,它负责分发alpha值到每个actor.
score则打包多个timeline,控制其并发或串行激发,实现多样化的时间轴。