s60平台下编写程序===手把手教你写游戏(一)

s60平台下的一个程序===手把手教你
这份手册经过详细的展现给你怎么来写一个s60下的tetris来讲明S60 SDK下的一些基本概念
 
STEP1  hello world
这个程序在SDK里有,
在group\目录下是一些工程文件:
  bld.inf
  s60text.mmp
  step1.rss是资源文件。在这个事例中它包含有R_AVKON_SOFTKEYS_OPTIONS_EXIT这个软键
盘配置,效果就是手机的左边键是option,右边是exit。此外还有其余一些资源
  step1.pkg 这个文件包含一些关于怎样建立*.sis文件的描述,*.sis是能够直接在手机上
运行的程序
inc\ 和src\目录下呢就是这个程序的源代码了,下面我简单的分析一下:
symbian平台下的程序和windows及unix下的程序有很大区别,windows及unix下的都从一个
main()开始,可是symbian下的倒是被框架以一个dll的方式加载。固然啦,就象每一个dll文
件同样,它是从E32DLL函数开始的,不过会返回的更快一些。

主框架先调用NewApplication()函数来获得一个CApplication对象,而后运用Avkon会返回
CApplication子类的一个对象。在咱们的程序中那就是在s60testapplication.cpp中的
CS60TestApplication。在这里重写了两个函数:
第一个是AppDllUID,这个函数返回程序的UID。(每一个程序都有一个惟一的UID,注意咱们这
里的程序使用的是开发UIDs,是不能在发布版本里出现的)。
第二个函数是CreateDocumentL,这个函数建立一个CApaDocument对象。在咱们的例子中就是
CS60TestDocument,一个CAknDocument的子类。
调用CreateAppUiL ,它建立了一个维护程序用户界面的对象,iAppUi=new(ELeave) CS60TestAppUi(this),就是
CS60TAppUi,在ConstructL函数中咱们首先调用BaseConstructL函数,这个函数可以作一些
初始化对象的工做,象是从资源文件中加载软键/菜单配置等;而后咱们建立
CS60TestAppView类的一个对象,CS60TestAppView是CCoeControl的一个子类。CCoeControl
对象是被画到屏幕上的一些控件,咱们的控件会添满ClientRect(),好比在状态面
板和sotfkeys描述之间的空白。要是把ClientRect改为ApplicationRect()那程序就会覆盖
整个屏幕。调用AddToStackL()接收键盘事件。

AppUi一样还能够接收菜单的事件,当用户选择一个菜单命令时,HandleCommandL被调用来处
理传来的命令代码,这些代码都是在菜单的资源文件中已经定义了的。咱们运行Exit和Hello
命令,会出现一个note。

在CS60TestAppView类中咱们只是重写了一个函数:Draw方法,当视图须要重画的时候它会被
调用,在这里咱们在屏幕上写出ClientRect(176*144)的大小,咱们用TBuf来表示这个描述符。
 
第一次翻译文档,由于跟我一块儿学习的几位同窗不习惯看英语资料因此我挑选出一些来翻译出来,贴来你们分享,同时我知道本身的英语也是菜的没的说,欢迎你们踊跃拍砖.里面确定有好多的词语术语错误,欢迎你们指出来,但愿和你们一块儿交流进步
原始地址 [url]http://www.newlc.com/article.php3?id_article=402[/url]
 
附带程序源码