(转)MTk屏幕切换效果的制作
来源:互联网 发布:mysql 修改端口号 编辑:程序博客网 时间:2024/06/10 09:10
学习MTK三四个月了,总要写点东西出来才行,这里简单说说,怎么制作屏幕切换效果。一些基本的概念,我就不说了,图层的原理和对图层操作的一些函数,至少要了解。
进入主题,说一下我的思路:首先,在进入新屏幕之前,把旧屏幕保存起来;其次,在画新屏幕之前,把屏幕锁住,不给新屏幕显示出来;再次,等到新屏幕画完,又把新屏幕保存起来。好了,现在得到了两个屏幕,就可以执行我们的切换效果了。
要把新旧屏幕保存起来,我们定义了两个buffer:
#pragma arm section zidata = "NONCACHEDZI", rwdata ="NONCACHEDRW"
static U8old_layer_buff_ptr[240*320<<1];
static U8new_layer_buff_ptr[240*320<<1];
#pragma arm section zidata, rwdata
下面看一下具体步骤:
1、保存旧屏幕。在EntryNewScreen函数里添加我们的函数:
void gui_my_SSE_save(void)
{
}
为什么要在这里添加我们的函数呢?因为没进入一个新屏幕都要调用EntryNewScreen,这里,趁新屏幕还没有画之前,就把旧屏幕保存起来。
怎么保存当前屏幕呢,看下面的函数:
void gui _save_current_layer(U8 *output_buf)
{
gdi_color
}
2、锁住屏幕,不给新屏幕显示出来。在dm_redraw_category_screen的开始这里,添加我们的函数:
void gui_my_SSE_setup(void)
{
}
这里把屏幕锁着,不给新屏幕显示出来,在下面执行效果的时候再把屏幕解锁,使新旧屏幕切换显示出来。
3、保存新屏幕,解锁屏幕,执行特效。在dm_redraw_category_screen的结束这里,添加我们的函数:
void gui_my_SSE_run(void)
{
&precious_layer,
¤t_layer,
gdi_layer_unlock_frame_buffer();//屏幕解锁
}
到这里,工作已经完成一半了,就看一下gui_my_SSE_run_effect_type要执行什么效果了。下面,我列举了两个典型的效果:
void gui_my_SSE_run_effect_type(
GDI_HANDLE handler1,
GDI_HANDLE handler2,
GDI_HANDLE handler3)
{
gui_my_sse_type effect_type=gui_my_SSE_get_type();
}
先来看一下效果:
1、
我们来说一下怎么做,如果大家学过计算机图形学的话,画圆应该是很容易的,有中点画圆算法、Bresenham画圆算法等等;我直接用的是MTK现有的算法,懒得去考究它是什么算法。
#define GUI_SSE_CIRCLE_R 25
void gui_my_SSE_effect_circle(GDI_HANDLE handler1, GDI_HANDLEhandler2, GDI_HANDLE handler3)
{
}
//MTK的画圆算法,由MTK画圆函数改过来:
void gdi_draw_solid_buffer_circle(S32 x, S32 y, S32 r, U8*input, U8* output)
{
}
void gdi_draw_line_buffer(S32 x1, S32 y1, S32 x2, S32 y2, U8*input, U8* output)
{
}
2、慢慢展开的扇子,这个用的是Bresenham画直线算法,由于代码比较长,就不贴出来了,大家知道原理就好。
3、还有很多效果,上下切换,左右移动,放大缩小,旋转变换,淡入淡出,飞入飞出等等特效,有兴趣的朋友可以去实现。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/menghnhhuan/archive/2010/11/21/6025019.aspx
- (转)MTk屏幕切换效果的制作
- MTk屏幕切换效果的制作
- MTk屏幕切换效果的制作
- MTk屏幕切换效果的制作
- 简单的屏幕滚动切换效果
- Android 屏幕切换效果实现 (转)
- Android 屏幕切换效果实现 (转)
- 制作banner切换效果
- Tab切换效果制作
- Android屏幕切换效果实现
- Android屏幕切换效果实现
- Android学习-使用ViewFlipper实现屏幕切换的动画效果
- 用Flash制作简单实用的图片切换效果
- ViewFlipper结合手势OnGestureListener制作的滑动切换效果
- Axure的动态面板制作tab切换效果
- ViewFlipper结合手势OnGestureListener制作的滑动切换效果
- MTK特效制作的方法
- Android的Activity屏幕切换动画(ExitAnim)-左右滑动切换(直播退出效果)
- linux信号量
- ubable to locate package java
- (转)Perl的简单语法(与C语言语法…
- (转)MTK文件操作常用函数
- MTK_面试的几个主要问题
- (转)MTk屏幕切换效果的制作
- MTK的铃声修改与替换
- 转载 MTK存储系统相关
- (转)同步/异步与阻塞/非阻塞的区别
- 关于人生规划选择的一个哲理故事
- java集合框架的讲解
- MTK异常LOG深入探讨
- (转)利用sourceinsight宏(Quicker.…
- GSM、CDMA、GPRS和WAP