WEB开发网
开发学院手机开发Symbian 开发 Symbian 实现基于传统架构场景切换动画 阅读

Symbian 实现基于传统架构场景切换动画

 2010-03-07 19:40:00 来源:WEB开发网   
核心提示:CleanupStack::PushL(gc);// SetGc()函数所使用的绘图上下文必须是指向窗口的,因此,Symbian 实现基于传统架构场景切换动画(4),必须对gc做一下映射(mapping)CWindowToBitmapMappingGc *wbgc = CWindowToBitmapMappingGc:

CleanupStack::PushL(gc);

// SetGc()函数所使用的绘图上下文必须是指向窗口的,因此,必须对gc做一下映射(mapping)

CWindowToBitmapMappingGc *wbgc = CWindowToBitmapMappingGc::NewL(*iScreenDevice,*gc) ;

CleanupStack::PushL(wbgc);

// 这个是自己定义的函数,对每个控件以及它的所有子控件设置GC

SetGc(iScreen,wbgc);

// 调用重绘,此时,控件绘制到了位图上

iScreen->DrawNow();

// 绘制完之后,设置回原来的GC

SetGc(iScreen,NULL);

CleanupStack::PopAndDestroy(wbgc);

CleanupStack::PopAndDestroy(gc);

CleanupStack::PopAndDestroy(iDevice);

CleanupStack::Pop(iBitmap);

}

/**

* 为每一控件以及它的所有子控件重新设置gc

*/

void SetGc(CCoeControl * iControl,CWindowToBitmapMappingGc* wsgc){

iControl ->SetGc(wsgc);

TInt count = iControl->CountComponentControls();

if(count == 0){

return;

}

for(TInt index = 0; index < count; ++index){

SetGc(iControl->ComponentControl(index),wsgc);

}

}

动画的实现

我们已经可以获得前后界面的截图了,有了这两张截图,我相信动画的实现就比较简单了,对这两张图进行合并,透明什么的,绘制到另一个界面上,这个界面可以用来专门显示场景切换的动画,只要使用一个活动对象或者定时器,动态改变绘制的内容,就可以实现了

上一页  1 2 3 4 

Tags:Symbian 实现 基于

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