Clutter 学习总结

 
本文是作者学习 Clutter 的一个总结,介绍了 Clutter 在应用程序中的角色、基本对象、动画相关的对象以及创建动画的步骤等。
简介

初识 Clutter ,觉得它很像是 Macromedia Flash,ClutterTimeline 就像是 flash 里的时间控制,可以设定桢速 fps 和动画的时间长度; ClutterBehaviour 设定 actor 的行为。

ClutterGTK 一样,采用 GObject 的面向对象模式,signal-callback 机制,将事件循环挂在 X Window 上。

基本的Objects
  • ClutterActor:所有可见元素的基类,定了基本属性,事件和信号。
  • ClutterStage:继承自 ClutterActor ,提供一个“舞台” 给 actor 。与 GdkWindow 相似,接受事件。单实例,用 clutter_init() 创建,以后用 clutter_stage_get_default() 得到这个全局唯一的 stage。
  • Clutter 中有极少的 widget ,在 Tidy 中提供了一些 widget 。
Animation相关的Objects
  • ClutterTimeline:用于描述动画的持续时间和设定 FPS(frames per sec);
  • ClutterAlpha:用以计算alpha value (0~CLUTTER_ALPHA_MAX_ALPHA)。 timeline 在每一桢开始时发出一个“new frame”的信号,ClutterAlpha 根 据设定的 alpha 函数 (CLUTTER_ALPHA_SINE_INC/CLUTTER_ALPHA_RAMP_INC......) 计算出alpha value,以此来决定 actor 的属性,如位置,scale等等;
  • ClutterBehaviour:actor 的行为属性,如旋转,变换大小,设定运动路径 等等。如果需要特殊的行为,我们可以自己实现一个类,继承自 ClutterBehaviour 。"driven" by clutte alpha.
创建一个animation的步骤
  1. create a timeline object
  2. create an alpha with the given timeline
  3. create a behaviour object from alpha
  4. apply a behaviour to an actor
  5. start the timeline
SeeAlso

http://blog.csdn.net/unailbobo/archive/2008/09/16/2934865.aspx

 

ClutterAlpha是一个计算浮点值的类,这个浮点值依赖于ClutterTimeline的位置

 

ClutterAlpha绑定一个timeline 和一个 progress函数,这个函数会把当前时间转换为要素alpha,这个要素值可以用来驱动一个ClutterBehaviour,它将alpha值转换为对ClutterActor有用的东西。

 

应该先提供一个Timeline,用Clutter_alpha_set_timeline( ) 绑定Timeline和Alpha,应该提供运动模式,用Clutter自己提供的ClutterAnimationMode 或者 用Clutter_alpha_register_func( )注册自定义函数,通过这两种方式设置运动mode。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值