WEB开发网
开发学院手机开发Symbian 开发 Symbian 系统中下创建动画的方法实现 阅读

Symbian 系统中下创建动画的方法实现

 2010-03-15 19:44:00 来源:WEB开发网   
核心提示:动画框架(Framework)提供了一个CBasicAnimation 类,该类继承自 CAnimation ,Symbian 系统中下创建动画的方法实现,用来创建客户端的动画,任何一个基本的客户端动画都需要数据来源, 动画被设置为无限循环播放,下面的代码演示了如何创建并开启一个基本的动画. 它装载了一个GIF文件,这

动画框架(Framework)提供了一个CBasicAnimation 类,该类继承自 CAnimation ,用来创建客户端的动画,任何一个基本的客户端动画都需要数据来源,这些数据可以是简单的文件也可以是复杂的数据结构。数据

提供者( data provider)主要负责处理数据, CICLAnimationDataProvider 类作为数据提供者为任意一种类

型的动画提供数据处理功能。为了创建一个基本的动画,我们需要创建出一个CICLAnimationDataProvider 类的对象。在下面的例子中,动画的数据来源是一个简单的Gif文件。

下面的代码演示了,如何创建一个CICLAnimationDataProvider 对象,并把它和一个GIF文件关联起来。

//GIF文件的路径

_LIT(KAnimExGuitarPlayer,"Z:\resource\apps\AnimExample\GuitarPlayer.gif");

//创建一个CICLAnimationDataProvider 对象,并和GIF文件关联.

//The iEikonEnv 用来打开一个与文件系统的会话

CICLAnimationDataProvider* basicDataProvider = new (ELeave)CICLAnimationDataProvider;

basicDataProvider->SetFileL(iEikonEnv->FsSession(), KAnimExGuitarPlayer());

在数据提供者对象准备就绪后, 就可以创建一个 CBasicAnimation 的类对象. 而动画的行为和属性要用 TAnimationConfig 类来定义. 所以你应当先创建一个TAnimationConfig对象,动画的行为可按下面的方式设置:

循环播放:把TAnimationConfig 类的iFlags变量设置为ELoop,将iData变量设置为要播放的圈数。如果要想进行无限循环播放,就将iData变量的值设为-1。

立即播放:将iFlags 变量设置为 EStartImmediately. 在默认的情况下,只有全部的数据都被装载以后,才会开始播放。

只播放指定数目的帧: 将iFlags 变量设置为 ECountFrames, 并将iData 变量设置为要播放的帧的数目。

在最后一帧上停止动画: 将iFlags 变量设置为 EEndOnLastFrame.在默认情况下,动画播放完毕,将会返回到第一帧。

在我们的例子中, 动画被设置为无限循环播放。

下面的代码演示了如何创建并开启一个基本的动画. 它装载了一个GIF文件,并无限地循环播放。

//定义动画播放的坐标

const TInt KAnimExBasicPositionX = 300;

const TInt KAnimExBasicPositionY = 100;

1 2  下一页

Tags:Symbian 中下

编辑录入:coldstar [复制链接] [打 印]
赞助商链接