开发 Symbian 系统上的俄罗斯方块实例
2010-02-22 23:39:00 来源:WEB开发网iState=EPaused;
iPauseTime.HomeTime();
Cancel();
}
}
}
在停止暂停时我们同样要一个计数器来计算剩余的时间。
我们调用TechPause/TechUnPause CS60TestAppView::FocusChanged时是我们打开其他程序或菜单也就是我们的焦点不在此游戏上是,而Pause/UnPause CS60TestAppUi::HandleCommandL在菜单选项里选择的。
当用户从菜单里选择"pause"后,我们应将菜单改成"unpause"转态,这是通过CS60TestAppUi::DynInitMenuPaneL来实现的,每次显示菜单是都会执行它。因此我们在资源文件中设定相对应的字符串。
RESOURCE TBUF16 r_menu_pause_title
{
buf = "Pause";
}
RESOURCE TBUF16 r_menu_unpause_title
{
buf = "Unpause";
}
另外我们还在背景里加了一副图片,
图片在symbian OS中被存为*.mbm文件,是从*.bmp文件在build过程时制作过来的,在mmp文件加入
START BITMAP S60Test.mbm
HEADER
TARGETPATH systemappsstep5
SOURCEPATH ..itmaps
SOURCE c12 tlo.bmp
END
就可以了,一个*.mmp文件可以包含几个*.bmp文件
在本例中s60test.mmp将包含一个bmp文件,图片前面的c12表示是 12bit(4096色)来节省空间,你也可以用C16(65536色),build也可以创建另外一个文件s60test.mbg,它将包含所有*.mbm文件的ID,在我们的文件就一个,所以它的ID是EMbmS60testTLO,
iBackground=CEikonEnv::Static()->CreateBitmapL(iPathName, EMbmS60testTlo);
来装载背景图片,
我们的游戏需要一个很好的图标和名字,这些都可以通过AIF文件实现,主要就是在资源文件S60testaif.rss中定义AIF_DATA数据,
#include
RESOURCE AIF_DATA
{
app_uid=0x04545FF6;
caption_list=
{
CAPTION
{
code = ELangEnglish;
caption = "Tetris";
}
};
num_icons=2;
embeddability=KAppNotEmbeddable;
newfile=KAppDoesNotSupportNewFile;
}
// End of File
除了这个文件我们还需要四张图片,44*44bitmap,44*44bitmask,44*23bitmap,44*23bitmask,图片用不同的颜色,可以辨别什么时候用的什么图片,AIF文件需要在*.mmp文件里通过AIF命令引用
AIF Step6.aif ..Aif S60TestAif.rss
c12 Icon.bmp IconMask.bmp IconSmall.bmp IconSmallMask.bmp
- ››开发Android 日历教程
- ››开发学院总结 Win 8实用技巧大全
- ››开发学院原创教程:把win8的IE10放桌面上方法(非...
- ››开发者眼中的Windows Phone和Android
- ››Symbian S60 SocketConnection参数
- ››开发学院教你用SQL 语句最快速清空MySQL 数据表的...
- ››Symbian乏力:2010年诺基亚悲情大事记
- ››Symbian三大升级开启2011年新战略
- ››Symbian/Android/iOS/WM安装包对比
- ››Symbian一个活动对象的测试例子
- ››Symbian ListBox控件
- ››Symbian下自动切换SDK的批处理代码
更多精彩
赞助商链接