基于MTK的手机游戏开发毕业设计--分歧终结机
- 格式:doc
- 大小:5.36 MB
- 文档页数:58
基于MTK平台的手机游戏程序设计
王丕景;牛润晟
【期刊名称】《电脑开发与应用》
【年(卷),期】2012(025)010
【摘要】C语言程序运行高效的优势使其在大量使用MTK平台的国产手机中得到广泛应用.游戏行业作为IT产业的剩余部分,可移动性已成为其最新的热点.手机游
戏继承传统PC的游戏界面和游戏性,是基于MTK平台使用C语言开发的游戏应用程序,将以不俗的体验吸引更多的用户加入进来.着重介绍了MEX平台的相关技术、程序的结构分析和设计以及部分问题的解决方法和算法的实现.
【总页数】4页(P24-27)
【作者】王丕景;牛润晟
【作者单位】太原理工大学计算机科学与技术系,太原030024;太原理工大学计算
机科学与技术系,太原030024
【正文语种】中文
【中图分类】TP311
【相关文献】
1.基于MTK平台的智能手机软件平台的研究与开发 [J], 俞亚敏
2.尚邮MTK(联发科)强强联手,布局MTK平台pushmail服务 [J],
3.基于C#的MTK写号平台设计与实现 [J], 邓小丁
4.基于MTK平台的无线语音终端设计 [J], 谢超;蒋达先
5.基于MTK平台的音响系统设计 [J], 沈庆;芮守婷
因版权原因,仅展示原文概要,查看原文内容请购买。
毕业论文设计基于M T K 平台移动终端应用层软件的设计与实现Newly compiled on November 23, 2020题(中、英文)作者姓代分学密U D 编工程领摘要目前,手机已成为最广范围内使用的便携式电话终端。
很多国家也成功地将本土品牌手机推向了国际市场。
在手机的研发过程中,人机交互接口(MMI)给进行移动通信的人与手机提供了交往的界面,它的设计优劣直接影响了手机销售市场的占有率,本文对人机界面的设计与实现进行了研究和探讨。
本文首先介绍了手机发展现状和课题选题由来,阐明了课题的现实意义和主要任务。
基于手机结构和嵌入式操作系统介绍了本项目的软件开发平台——MTK平台,并详细分析了该平台MMI层软件结构。
其中以手机应用层开发中的典型模块——通讯录应用为例,先进行了系统需求分析和方案设计。
然后具体实现了模块的各功能与所有界面,并完成了应用间交互的相关功能,后期根据编写的测试用例进行了黑盒测试。
最终,样机通过了软、硬件测试,验证了其设计的正确性和可行性,并成功投入市场。
关键字:手机人机交互接口(MMI) MTK黑盒测试AbstractNowadays, handset has become a cellular phone terminal in the most widely used field. A great many countries succeeded in designing various handsets labelled by their own brand in international market. The Man-Machine-Interface(MMI) provides such an interface that brings the convenience to both human and handset in the handset projects. And the advantages or not of design could make an important influence on the market share of mobile terminal products. The thesis makes the related R&D to design and achieve a friendly interface.The thesis first introduces the present situation and background of handset, and clarifies the significance of the topic and main task. On the basis of the architecture of handset and the embedded system, introduces the software development platform of this project, MTK platform, and the software architecture of MMI. Taking a typical application, phonebook as an example, makes the requirement analysis and practical plan design firstly. Then goes deep into the detailed realization of function and interface, and fulfills the communication between related applications. In the later period, according to test case, finishes the Black-box Testing and debugging. Finally, passes all the testing of software and hardware, which verifies the validity and feasibility of the early design, finished products have been poured into market. Keyword: Handset Man-Machine-Interface(MMI) MTKBlack-box Testing目录第一章绪论手机发展现状移动通信的发展从1876年贝尔发明电话以来,经历了长达一个多世纪的发展,电话通讯服务已走进了千家万户,成为国家经济建设、社会生活和人们交流信息所不可缺少的重要工具。
J2ME游戏设计读书笔记配置Configuration定义:用来开发在某个特定范围的设备上运行的应用程序所要用到的一组最小的API。
无限设备的标准配置:连接无限设备配置CLDC(Connected Limited Device Configuration)CLDC描述了所有无限移动设备所需的一个最小级别的功能集合。
CLDC设备包括:收集,寻呼机,PDA,掌上电脑等。
框架Profile这是一个进一步以特定设备位目标的一组更具体的API。
配置描述了一类设备,而框架更加具体化并且从一类设备中分理处一个特定类型的设备。
移动信息设备框架MIDP(Mobile Information Device Profile)是建立在CLDC基础上的用来描述收集和寻呼机这样的无限移动设备的框架。
按照MIDP规范开发的J2ME应用程序叫做MIDlet,因此我们使用J2ME MIDP创建的任何游戏实际上都是MIDlet。
MIDlet必须被打包成JAR文件(Java ARchive)文件以便发布。
通常一个MIDlet JAR文件包括:1:MIDlet类2:支持类3:资源(声音,图像等等)4:清单文件(.mf文件):描述了同一个压缩文档中所包含的类。
5:应用程序描述符(.jad文件):提供和一个JAR文件包含的多个MIDlet相关的描述信息。
MIDlet的开发步骤:1:编辑2:编译3:预验证4:模拟5:设备上测试6:部署MIDlet开发需要的工具:1:Java 2 SDK2:J2ME Wireless ToolkitJava 2 SDK是用Java来开发的一个标准开发工具包,J2ME Wireless Toolkit的作用相当于一个用来和Java 2 SDK协同工作的插件,用来验证和测试MIDlet的一个字节码验证器和几个J2ME模拟器。
额外,几个移动设备厂商还有他们自己的工具保,包含了其他的MIDlet开发工具。
KToolbar是一个可视化的开发环境,使我们能够通过一个图形用户界面来创建,编辑,打包和测试J2ME应用程序。
基于MTK平台的智能手机硬件设计与开发摘要:智能手机的运行速度,用户体验度,集成应用功能,是手机生厂商市场竞争力的关键。
本文以MTK公司的真八核手机芯片MT6595加外围射频、无线网络和电源管理等其它组件一起构建了一个基于MTK 平台开发的智能手机硬件系统。
经过测试验证,本系统满足市场需求,提高手机生厂商企业市场竞争力。
关键词:MTK、硬件系统、手机芯片Abstract: Smart phones running speed, user experience, integrated applications, mobile phone manufacturers the market is the key to competitiveness. In this paper, MTK's true eight-core mobile chip MT6595 RF plus peripherals, wireless networks and power management, and other components together to build a smart phone hardware system solutions based on MTK platform. After testing and validation, the program to meet the market demand, improve mobile phone manufacturers the market competitiveness of enterprises.Keywords: MTK, hardware systems, mobile phone chip智能手机市场占有率越来越高,而用户在购买手机时,更加关注智能手机的运行速度、用户体验度、集成用户功能,为此要想提升手机生厂商在市场竞争力,前提是应设计出满足市场需求的手机硬件系统。
MTK上开发的游戏源代码---推箱子。
MTK平台调试通过。
我去掉了数据部分和内核。
,留下了框架供大家学习MTK平台开发。
--------------#include"GlobalDefs.h"#include"HistoryGprot.h"#include"GlobalConstants.h"#include"MMI_features.h"#include"PixtelDataTypes.h"#include"Unicodexdcl.h"#include"gui.h"#include"Calculator.h"#include"SettingProfile.h"#include"ProfileGprots.h"#include"Globaldefs.h"#include"CustDataRes.h"#include"gui_themes.h"#include"wgui_categories.h"#include"wgui_softkeys.h"#include"HistoryGprot.h"#include"OrganizerDef.h"#include"GameDefs.h"#define MTK_GUANSHU40#define PUSH_LCD_WIDTH176#define PUSH_LCD_HEIGHT220static const char MTK_DATA[MTK_GUANSHU][80]={{1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,3,0,1,1,1,1,3,0,0,2,0,0,1,1,1,1,1,2,1,1,0,0,1,1,1,1,0,0,1,1,2,1,1,1,1,1,0,0,4,0,0,0,1,1,1,1,0,3,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1}};typedef struct{INT16X;INT16Y;}MTK_POS;typedef struct{UINT8Data1;UINT8Data2;}MTK_sg_PUSHBOXSTRUCT;static MTK_sg_PUSHBOXSTRUCT g_Pushbox;static char Config_Passs=1;enum{PushSharp_Blank,PushSharp_Bar,PushSharp_Box,PushSharp_Goal,PushSharp_Boxer,PushSharp_Ok}e_PushSharp;void Game_Push_Null(void){return;}/*Name:CalculateDesc:Calculate the current position of the blockReturn:no return valueAuthor:helloworld*/static void Game_Push_Calculate(UINT8val){UINT8row;UINT8col;//kal_prompt_trace(MOD_MMI,"\\n[Push-->Game_Push_Calculate,val=%d]\\n",val);row=val/10;col=val-row*10;kal_prompt_trace(MOD_MMI,"\\n[Push-->Game_Push_Calculate,row=%d,col=%d]\\n",row,col); g_Pushbox.BoxPos.X=15*col+14;g_Pushbox.BoxPos.Y=15*row+24;}static void UIFDrawBitmap(S32offset_x,S32offset_y,U16image_id){//kal_prompt_trace(MOD_MMI,"\\n[Push-->UIFDrawBitmap,image_id=%d]\\n",image_id);pixtel_UI_lock_double_buffer();//pixtel_UI_reset_clip();pixtel_UI_show_image(offset_x,(offset_y+20),(UI_image_type)GetImage(image_id));pixtel_UI_unlock_double_buffer();pixtel_UI_BLT_double_buffer(0,0,PUSH_LCD_WIDTH,PUSH_LCD_HEIGHT);}static short Game_Push_Itou(short*pOutStr,long InNum){//0:ox0030char NumString[10];short i,j;short NumLen;//位数memset(NumString,\'\\0\',10);kal_prompt_trace(MOD_MMI,"\\n[Push-->Game_Push_Itoa,InNum=%d]\\n",InNum);if(NULL==pOutStr){return;}if(InNum/1000000>0){//to longreturn;}if(InNum/100000>0){NumLen=6;}else if(InNum/10000>0){NumLen=5;}else if(InNum/1000>0){NumLen=4;}else if(InNum/100>0){NumLen=3;}else if(InNum/10>0){NumLen=2;}else{NumLen=1;}for(i=NumLen;i>0;i--){if(1==i){NumString[0]=InNum%10+\'0\';}else if(2==i){NumString[i-1]=(InNum/10)%10+\'0\';}else if(3==i){NumString[i-1]=(InNum/100)%10+\'0\';}else if(4==i){NumString[i-1]=(InNum/1000)%10+\'0\';}else if(5==i){NumString[i-1]=(InNum/10000)%10+\'0\';}pOutStr[NumLen-i]=NumString[i-1];kal_prompt_trace(MOD_MMI,"\\n[Push-->Game_Push_Itoa,=%d]\\n",pOutStr[NumLen-i]); }kal_prompt_trace(MOD_MMI,"\\n[Push-->Game_Push_Itoa,len=%d]\\n",NumLen);return j;}const color PushTextColor={0,0,100,100};static void Game_Push_DrawString(void){#define REC_POS_X1#define REC_POS_Y170#define REC_POS_W176#define REC_POS_H50S32w;short Psss_uncode[10],Step_uncode[10];memset(Psss_uncode,\'\\0\',10);memset(Step_uncode,\'\\0\',10);Game_Push_Itou(Psss_uncode,(long)Config_Passs);Game_Push_Itou(Step_uncode,(long)g_Pushbox.step);pixtel_UI_lock_double_buffer();pixtel_UI_set_font(&MMI_medium_font);pixtel_UI_set_text_color(PushTextColor);pixtel_UI_reset_clip();pixtel_UI_reset_text_clip();pixtel_UI_move_text_cursor(63,185);pixtel_UI_print_text((UI_string_type)Psss_uncode);UIFDrawBitmap(145,(185-20),IMG_ID_PUSH_BOX_SMALL_BKG);UIFDrawBitmap(155,(185-20),IMG_ID_PUSH_BOX_SMALL_BKG);pixtel_UI_move_text_cursor(145,185);pixtel_UI_print_text((UI_string_type)Step_uncode);pixtel_UI_unlock_double_buffer();pixtel_UI_BLT_double_buffer(REC_POS_X,REC_POS_Y,REC_POS_X+REC_POS_W, REC_POS_Y+REC_POS_H);return;}//service for FirstDraw and commonDrawstatic void Game_Push_Draw(INT8i){Game_Push_Calculate(i);kal_prompt_trace(MOD_MMI,"\\n[Push-->Game_Push_Draw,drawID=%d,posX=%d, posY=%d]\\n",g_Pushbox.tempbox[i],g_Pushbox.BoxPos.X,g_Pushbox.BoxPos.Y);{case0://为空时根本就不用画.让他显示背景,(不行!还是要画)UIFDrawBitmap(g_Pushbox.BoxPos.X,g_Pushbox.BoxPos.Y,IMG_ID_PUSH_BOX_BLANK);break;case1:UIFDrawBitmap(g_Pushbox.BoxPos.X,g_Pushbox.BoxPos.Y,IMG_ID_PUSH_BOX_BAR);break;case2:UIFDrawBitmap(g_Pushbox.BoxPos.X,g_Pushbox.BoxPos.Y,IMG_ID_PUSH_BOX_BOX);break;case3:/*这是个傻办法,以保证用24..但又不露出背景...挖空背景后,仍要用,因为推走box后,要立即将其覆盖掉*/UIFDrawBitmap(g_Pushbox.BoxPos.X,g_Pushbox.BoxPos.Y,IMG_ID_PUSH_BOX_GOAL);break;case4:UIFDrawBitmap(g_Pushbox.BoxPos.X,g_Pushbox.BoxPos.Y,IMG_ID_PUSH_BOX_BOXER);break;case5:UIFDrawBitmap(g_Pushbox.BoxPos.X,g_Pushbox.BoxPos.Y,IMG_ID_PUSH_BOX_OK);break;case6:UIFDrawBitmap(g_Pushbox.BoxPos.X,g_Pushbox.BoxPos.Y,IMG_ID_PUSH_BOX_BOXER);break;case7:UIFDrawBitmap(g_Pushbox.BoxPos.X,g_Pushbox.BoxPos.Y, IMG_ID_PUSH_BOX_SMALL_BKG);break;default:break;}}static void Game_Push_FirstDraw(void){short i;pixtel_UI_lock_double_buffer();pixtel_UI_reset_clip();clear_screen();UIFDrawBitmap(0,0,IMG_ID_PUSH_BOX_BKG);//大背景for(i=0;i<80;i++){Game_Push_Draw(i);}Game_Push_DrawString();pixtel_UI_unlock_double_buffer();pixtel_UI_BLT_double_buffer(0,0,PUSH_LCD_WIDTH,PUSH_LCD_HEIGHT);}static void Game_Push_ComonDraw(void){Game_Push_Draw(g_Pushbox.BeforeBoxer);Game_Push_Draw(g_Pushbox.Boxer);Game_Push_Draw(g_Pushbox.AfterBoxer);}static void Game_Push_Ini(void){//开局short i;g_Pushbox.over=FALSE;g_Pushbox.goalnum=0;g_Pushbox.I=0;g_Pushbox.step=0;for(i=0;i<80;i++){g_Pushbox.tempbox[i]=MTK_DATA[Config_Passs-1][i];if((g_Pushbox.tempbox[i]==3)||(g_Pushbox.tempbox[i]==5)||(g_Pushbox.tempbox[i]==6 )){g_Pushbox.goalnum++;}if((g_Pushbox.tempbox[i]==4)||(g_Pushbox.tempbox[i]==6)){g_Pushbox.Boxer=i;}if(g_Pushbox.tempbox[i]==5){g_Pushbox.I++;}}}static void Game_Push_DeIni(void){return;}//新开局static void Game_Push_BeginNewStep(void){Game_Push_Ini();Game_Push_FirstDraw();return;}void Game_Push_Begin(void);static void Game_Push_ConfirmNewGame(void){//GoBackHistory();Game_Push_Begin();return;}static void Game_Push_ConfirmExitGame(void){Game_Push_DeIni();GoBacknHistory(2);//GoBackHistory();return;}static char Game_Push_GameOverProc(void){if(FALSE==g_Pushbox.over){return g_Pushbox.over;}Config_Passs++;if(Config_Passs>MTK_GUANSHU){Config_Passs=1;}DisplayConfirm(STR_GLOBAL_YES,IMG_GLOBAL_YES,STR_GLOBAL_NO,IMG_GLOBAL_NO,get_string(STR_GAME_RESUME),IMG_GLOBAL_QUESTION,WARNING_TONE); SetRightSoftkeyFunction(Game_Push_ConfirmExitGame,KEY_EVENT_UP); SetLeftSoftkeyFunction(Game_Push_ConfirmNewGame,KEY_EVENT_UP);return g_Pushbox.over;}/*Name:MoveStepDesc:Move the blockReturn:no return valueAuthor:helloworld*/static void Game_Push_MoveStep(void){//core}static void Game_Push_UpKeyProc(void){kal_prompt_trace(MOD_MMI,"\\n[Push-->Game_Push_UpKeyProc]\\n");g_Pushbox.flag=0-10;Game_Push_MoveStep();return;}static void Game_Push_DownKeyProc(void){kal_prompt_trace(MOD_MMI,"\\n[Push-->Game_Push_DownKeyProc]\\n"); g_Pushbox.flag=10;Game_Push_MoveStep();return;}static void Game_Push_LeftKeyProc(void){kal_prompt_trace(MOD_MMI,"\\n[Push-->Game_Push_LeftKeyProc]\\n"); g_Pushbox.flag=-1;Game_Push_MoveStep();return;}static void Game_Push_RightKeyProc(void){kal_prompt_trace(MOD_MMI,"\\n[Push-->Game_Push_RightKeyProc]\\n"); g_Pushbox.flag=1;Game_Push_MoveStep();return;}static void Game_Push_HashKeyProc(void){kal_prompt_trace(MOD_MMI,"\\n[Push-->Game_Push_HashKeyProc]\\n"); Config_Passs--;if(Config_Passs<1){Config_Passs=MTK_GUANSHU;}Game_Push_BeginNewStep();return;}static void Game_Push_StarKeyProc(void){kal_prompt_trace(MOD_MMI,"\\n[Push-->Game_Push_StarKeyProc]\\n");Config_Passs++;if(Config_Passs>MTK_GUANSHU){Config_Passs=1;}Game_Push_BeginNewStep();return;}static void Game_Push_SendKeyProc(void){Game_Push_BeginNewStep();return;}static void Game_Push_EndKeyProc(void){Game_Push_DeIni();GoBackHistory();return;}static void Game_Push_SetKeysHandle(void){//kal_prompt_trace(MOD_MMI,"\\n[Push-->Game_Push_SetKeysHandle]\\n"); ClearAllKeyHandler();SetKeyHandler(Game_Push_UpKeyProc,KEY_UP_ARROW,KEY_EVENT_DOWN); SetKeyHandler(Game_Push_DownKeyProc,KEY_DOWN_ARROW,KEY_EVENT_DOWN); SetKeyHandler(Game_Push_LeftKeyProc,KEY_LEFT_ARROW,KEY_EVENT_DOWN); SetKeyHandler(Game_Push_RightKeyProc,KEY_RIGHT_ARROW,KEY_EVENT_DOWN); //*#SetKeyHandler(Game_Push_StarKeyProc,KEY_STAR,KEY_EVENT_DOWN); SetKeyHandler(Game_Push_HashKeyProc,KEY_POUND,KEY_EVENT_DOWN);//send,endSetKeyHandler(Game_Push_SendKeyProc,KEY_SEND,KEY_EVENT_DOWN); SetKeyHandler(Game_Push_EndKeyProc,KEY_END,KEY_EVENT_DOWN);//backSetRightSoftkeyFunction(GoBackHistory,KEY_EVENT_UP);}static void Game_Push_Entry(void){EntryNewScreen(SCR_ID_CALC_APP,NULL,Game_Push_Entry,NULL);Game_Push_FirstDraw();RedrawCategoryFunction=Game_Push_FirstDraw;}//for menuvoid Game_Push_Begin(void){Game_Push_Ini();Game_Push_Entry();Game_Push_SetKeysHandle(); return;}。
基于MTK平台的智能手机软件平台的研究与开发摘要:随着智能手机市场占有率越来越高,种类越来越丰富,用户对手机要求更加个性化,更加追求独特的使用体验,由此对智能手机的软件平台提出了更高的要求。
本文基于MTK 平台设计开发出新的智能手机软件平台,使手机产品更具有市场竞争力,该平台的实现对我国MTK智能手机的技术开发应用提供了一定的参考价值。
关键字: MTK、智能手机、软件Abstract: With the increasing market share of smart phones, more and more species-rich, mobile phone users demand more personalized, more pursuit of a unique user experience, thereby smartphone software platform put forward higher requirements. Based on MTK platform design and development of new smart phone software platform that enables mobile phone products more competitive on the market, to achieve the platform for technology development and application of MTK smart phone provides a certain reference value.Keywords: MTK, smart phones, software platform随着智能手机市场占有率越来越高,中国智能手机市场存在着巨大的发展空间,然而用户对手机要求更加个性化,更加追求独特的使用体验,由此对智能手机的软件平台提出了更高的要求,软件平台的好坏,同样也决定着产品具有的市场竞争力。
基于MTK平台的双卡双待双蓝牙手机硬件设计与实现的开题报告一、研究背景与目的随着移动通信技术的不断发展,智能手机已经成为人们生活中不可缺少的一部分。
而双卡双待双蓝牙手机的研发和生产,更能满足人们对通信功能的不断需求。
本次研究的目的是设计和实现一款基于MTK平台的双卡双待双蓝牙手机,通过对该手机硬件的设计和实现,掌握手机电路设计的基本知识和方法,从而提高对手机硬件的研究和开发能力。
二、研究内容1. 双卡双待技术研究:介绍双卡双待技术的原理和实现方式,分析其优缺点,探讨如何在设计中有效利用双卡双待技术。
2. 蓝牙技术研究:介绍蓝牙技术的原理和实现方式,分析其在手机中的应用,探讨如何在设计中有效利用蓝牙技术。
3. MTK芯片平台研究:介绍MTK芯片平台的基本知识和特点,对其在手机设计中的应用进行分析和探讨。
4. 双卡双待双蓝牙手机电路设计:根据研究内容,对基于MTK平台的双卡双待双蓝牙手机的电路进行设计,并进行仿真和验证。
5. 硬件实现:根据电路设计,完成基于MTK平台的双卡双待双蓝牙手机的硬件实现,包括PCB设计、元器件选型、焊接等工作。
三、研究意义本研究的意义在于:1. 拓展手机电路设计技能:通过本次研究,可以全面掌握手机电路设计的基本知识和方法,提高研究者对手机硬件的研究和开发能力。
2. 探索双卡双待双蓝牙技术的应用:双卡双待和蓝牙技术在手机中的应用日益广泛,本研究将对其在手机电路设计中的应用进行深入探讨,为未来的手机设计提供参考。
3. 掌握MTK平台的应用:MTK平台作为手机芯片的主流平台之一,其研究和应用具有重要意义。
本研究将掌握MTK平台的基本知识和特点,并将其应用到手机电路的设计和实现中。
四、研究方法本研究采用文献资料法和实验法相结合的方法。
1. 文献资料法:通过查阅相关文献,了解手机电路设计的基本知识和方法,掌握双卡双待和蓝牙技术在手机中的应用,以及MTK平台的特点和应用。
2. 实验法:根据文献研究的结果,设计基于MTK平台的双卡双待双蓝牙手机电路,并进行仿真和验证。
测试项目测试子项目测试用例预置条件触屏较准触屏较准正常待机模式把终端进行触屏较准正常待机模式终端进行触屏较准的时候来电或短信息终端进行触屏较准的时候闹钟响正常待机模式起手机设置日间与日期进入时间设置进行时间格式设置设置时间设置的时候来电或短信正常待机模式息正常待机模式进行时间格式设置的时候来电或短信息设置时间为00:00正常待机模式设置时间为12:00正常待机模式设置时间为23:59正常待机模式设置日期为9999/31/12正常待机模式设置时间为24:00正常待机模式设置时间为非法时间正常待机模式快捷键设置手动设置快捷键正常待机模式修改快捷键正常待机模式设置快捷键后使用快捷键操作正常待机模式先后10次修改快捷键正常待机模式定时开关机设置设置定时开关机时间正常待机模式正常待机模式定时关机时间到时收到来电或短信设置定时开关机时间为非法时间正常待机模式设置定时开关机时间为00:00正常待机模式设置定时开关机时间为12:00正常待机模式设置定时开关机时间为23:59正常待机模式设置定时开关机时间为24:00正常待机模式语言选择语言切换 1.进行语言切换。
在选择语言之后关机正常待机模式反复修改手机的语言类型10次正常待机模式预设输入法正常待机模式分别把预设输入法设置为:大写字母、小写字母、数字输入、智能英文大写、拼音输入、笔画输入、智能拼音设输入法的时候来电或短信息正常待机模式连续设置输主10次.正常待机模式个性化显示设置通过非快捷方式正常进入 1.手机开机处于待机。
通过快捷方式正常进入 1.手机开机处于待机。
Wording的显示 1.进入显示设置。
界面的显示 1.进入显示设置。
墙纸设置 1.恢复出厂设置。
更改墙纸 1.手机开机处于待机。
删除墙纸 1.手机开机处于待机。
UI_GUI设计 1.进入显示设置。
通过按对应键方式退出 1.进入显示设置。
通过合盖方式退出 1.进入显示设置。
屏幕保护设置正常待机模式屏幕保护图片选择正常待机模式开机动画正常待机模式关机动画正常待机模式显示日期时间正常待机模式显示本机号码正常待机模式显示服务业者名称正常待机模式时钟类型正常待机模式显示设置(包含显示设置中各项设置)中有来电进入1.手机处于显示设置(包含显示设置中各项设置)中任意界面。
目录摘要..................................................................................................................................... I V ABSTRACT. (V)1前言 (1)1.1MTK的背景及研究意义 (1)1.2VRE简介 (2)1.3MTK市场状况及发展趋势 (4)1.4国外手机MTK应用 (5)1.5VRE平台终端拓展 (5)1.6MTK核心技术点 (5)1.7MTK的人才需求情况 (6)2 VRE平台的详细介绍 (7)2.1VRE概述 (7)2.1.1 VRE的概念 (7)2.1.2 VRE的背景 (7)2.2VRE技术构架 (8)2.3技术比较 (11)3应用开发环境搭建 (13)3.1环境搭建 (14)3.1.1 SDK安装 (14)3.1.2 SDK目录结构 (15)3.2WIN32插件 (15)3.2.1 插件组成 (15)3.2.2 模拟器 (16)4分歧终结机的设计 (18)4.2VRE开发步骤 (18)4.3程序流程图 (18)4.4设计流程图 (19)4.5创建新工程 (20)4.6应用程序框架 (23)4.6.1系统消息 (23)4.6.2 键盘消息 (24)4.6.3笔触消息 (24)4.7基础操作 (24)4.7.1 字符串操作 (24)4.7.2 按键与笔触 (25)4.7.3 资源 (25)4.7.4 定时器 (26)4.8修改应用程序的图标和标题 (27)4.8.1 VRE资源信息介绍 (27)4.8.2修改应用程序的图标 (28)4.8.3使用资源管理器 (29)4.8.4 修改应用程序的标题 (29)4.9界面设计及菜单的绘制 (29)4.9.1 界面设计 (29)4.9.2 绘制菜单 (31)4.9.3 绘制显示图片界面按钮 (32)4.9.4 处理用户按键 (32)4.10资源管理器的使用-加载图片 (32)4.10.1 资源外部加载原理 (32)4.10.2 图片资源加载 (33)4.10.3 导入资源 (34)4.10.4 加载图片资源 (35)4.11图片绘制 (36)4.11.2 根据随机数绘制图片 (37)4.12使用定时器制作动画效果 (37)4.12.1 定时器概述 (37)4.12.2 创建定时器 (37)4.12.3 删除定时器 (37)4.12.4 定时器使用实例 (37)4.13程序编译调试 (38)4.13.1 模拟调试 (38)4.13.2 真机调试 (39)谢辞 (45)参考文献 (46)附录 (47)摘要随着世界移动通讯市场的迅速发展,手机让我们充分享受到无线通信的魅力。
在高速发展的手机市场,MTK以在市场超过40%的手机基带芯片份额成为目前国内最大的手机方案提供商。
VRE(Virtual Runtime Environment)是MTK子公司沃勤自主研发的针对移动终端设备的中间件解决方案。
VRE包括嵌入式中间件平台和服务运营系统,为移动终端设备提供了一个完整高效的开发平台,使得终端制造商可以在跨芯片平台上进行手机系统研发,同时也使得移动应用商能够得到开发工具和支持。
本文根据VRE平台中定时器、资源管理器及动画制作的原理,通过设定VRE定时器的定时时间、制作应用程序图标和游戏图片、设定随机数的产生方式、设计手机处理动画,实现一款经典手机游戏-分歧终结机。
它可以使争端双方在指定的时间内出剪刀、石头、布,从而消除因为作弊给人们带来的分歧。
关键词:手机游戏;MTK;VRE;分歧终结机Design of Mobile Games Development Program Based on MTKABSTRACTThe development of World Mobile Communication Market is fully rapid in recent decades. Now the Mobile phone makes us fully enjoy the convenience of the wireless communication. In the rapid growing mobile phone market,More and more mobile solution providers has appeared.MTK is the largest provider in the domestic market.At present, it has more than 40%share of mobile phone.VRE (Virtual Runtime Environment) is a middleware solution which is developed for mobile terminal devices by Vogins, which is a branch company of MTK.VRE contains embed middleware platform and service operation system, which provides an efficient and comprehensive platform for mobile terminal devices. Terminal manufacturers can develop the mobile system in the cross-chip platform, and mobile application providers can also acquire development tools and support.According to the principles of the timer, explorer and animation production, we design a classic mobile game called “Terminator of confliction” by setting VRE timer, making icons of applications and pictures of games, setting the way which the random number is produced and design animation processed by the mobile. It makes the two sides in dispute show scissors, stone and cloth within the prescribed time so that a dispute caused by cheat will be eliminated.Key Words:mobile games; MTK; VRE; Terminator of confliction1前言1.1 MTK的背景及研究意义1 MTK的背景MTK是联发科技股份有限公司的英文简称,英文全称叫MediaTek。
联发科技股份有限公司,创立于1997年,是世界顶尖的IC专业设计公司,位居全球消费性IC片组的领航地位。
产品领域覆盖数码消费、数字电视、光储存、无线通讯等大多系列,是亚洲唯一连续六年蝉联全球前十大IC设计公司唯一的华人企业,被美国《福布斯》杂志评为“亚洲企业50强”。
MTK通常指的是联发科公司研发的基于手机平台的解决方案。
现在的手机集成了越来越多的功能,如摄像头、触摸屏、蓝牙等,这些功能的实现,需要多种控制芯片,MTK就是通过提供包含多套不同功能的芯片形成个性化的、高度集成的多媒体基带芯片方案。
当拆开一部手机的电路板,如果发现几块芯片上都有右图中的M标志,则说明该手机使用的是MTK平台。
MTK(MediaTek)平台近几年来异军突起,接近70%的国产手机采用MTK的芯片和平台,它提供高度集成的多媒体基带芯片方案。
其整个软件体系可以划分为移动通信协议栈、操作系统、数据业务、本地存储、MMI和其它应用几大部分。
其中移动通信协议栈提供蜂窝移动网和与其相连接的其它公共移动网之间建立、维护和释放电路交换的功能。
MMI是整个系统的最上层,解释用户的各种命令并发送消息到相应的处理模块等待系统控制及处理并将系统收到的消息反馈给用户。
MTK中,设计了一个操作系统适配层(KAL)使得上层软件独立于Nucleus操作系统,可以对各种复杂的任务根据一定的准则进行调度。
和别的厂家的方案比,MTK芯片有着完工率高,价格低廉等优势。
MTK芯片采用Turnkey(一站式方案)模式、基带芯片、操作软件,甚至液晶、摄像头等部件都可以“一站解决”,大大缩短了手机的生产环节并降低了研发成本。
使用MTK平台解决方案的手机只要稍稍的加工就可上架出货了,这也正是包括联想、波导、TCL、海信等国产手机厂商及飞利浦等国际手机厂商都使用MTK的最主要原因。
虽然使用MTK平台的手机设计和生产企业数量不断增加,但是真正得到联发科技技术支持的企业并不多,特别是软件方面,资料以及开发工具很难得到,而且软件开发更是靠工程师自己摸索。
2 MTK的特点1、性能稳定:MTK的最底层和上层软件比较统一,射频一般都是在-107dBm以下。
MTK手机软件由于是大量采用全局变量编写代码,避免了内存泄漏,死机问题很少发生。
2、速度快:由于MTK公司提供全套解决方案,开发难度比较低,开发速度快。
且采用C语言开发,程序直接运行编译后的二进制代码,执行效率高。
3、技术入门快:对于有一定C语言基础的人来说,学习和掌握MTK开发技术快。
3 MTK的平台优势1、庞大的用户群体,国产手机90%使用的是MTK平台。
2、性能稳定,功耗低,符合中国用户使用需求的手机操作系统。
3、MTK公司提供全套的解决方案,开发难度较低,开发周期短。
4、MTK芯片采用Turnkey(一站式方案)模式、基带芯片、操作软件,甚至液晶、摄像头等部件都可以“一站解决”,大大缩短了手机的生产环节并降低了研发成本。
5、开发成本低廉。
主要的手机厂商及IC供应商如表1.1所示:图1.1 主要的手机厂商及其IC供应商1.2 VRE简介VRE(Virtual Runtime Environment)是MTK子公司沃勤自主研发的针对移动终端设备的中间件解决方案。
VRE包括嵌入式中间件平台和服务运营系统,为移动终端设备提供了一个完整高效的开发平台,使得终端制造商可以在跨芯片平台上进行手机系统研发,同时也使得移动应用商能够得到开发工具和支持。