"AppDelegate.h" 和"AppDelegate.cpp" 分析
来源:互联网 发布:java 函数返回值 泛型 编辑:程序博客网 时间:2024/06/01 10:00
转自 http://blog.163.com/jtyp_2000/blog/static/9910426201310893932976/
这两个文件是Cocos2d-x 游戏的通用入口文件,类似于一般 Windows 工程中主函数所在的文件。
AppDelegate 控制着游戏的生命周期,除去构造函数和析构函数外,共有3 个方法。
bool applicationDidFinishLaunching()。应用程序启动后将调用这个方法。默认的实现中已经包含了游戏启动后的必要准备:
//初始化游戏引擎控制器CCDirector,以便启动游戏引擎
CCDirector *pDirector = CCDirector::sharedDirector();
pDirector->setOpenGLView(&CCEGLView::sharedOpenGLView());
//启用FPS 显示,当前 FPS 会在游戏的左下角显示。FPS也就是屏幕每秒重绘的次数。即每秒帧速率。在游戏开发阶段,可以方便地确定游戏运行是否流畅。
pDirector->setDisplayStats(true);
//设置绘制间隔。绘制间隔指的是两次绘制的时间间隔,因此绘制间隔的倒数就是FPS 上限。对于移动设备来说,我们通常都会将FPS 限制在一个适当的范围内。过低的每秒重绘次数会使动画显示出卡顿的现象,而提高每秒重绘次数会导致设备运算量大幅增加,造成更高的能耗。人眼的刷新频率约为60次每秒,因此把 FPS 限定在60是一个较为合理的设置,Cocos2d-x 就把绘制间隔设置为 1/60秒。
pDirector->setAnimationInterval(1.0 / 60);
//最后是最关键的步骤,创建Hello World 场景,然后指派 CCDirector运行这个场景。对于游戏开发者而言,我们需要在此处来对我们的游戏进行其他必要的初始化,例如读取游戏设置、初始化随机数列表等。程序的最末端返回true,表示程序已经正常初始化。
CCScene *pScene = HelloWorld::scene();
pDirector->runWithScene(pScene);
void applicationDidEnterBackground()。当应用程序将要进入后台时,会调用这个方法。具体来说,当用户把程序切换到后台,或手机接到电话或短信后程序被系统切换到后台时,会调用这个方法。此时,应该暂停游戏中正在播放的音乐或音效。动作激烈的游戏通常也应该在此时进行暂停操作,以便玩家暂时离开游戏时不会遭受重大损失。
void applicationWillEnterForeground() 。该方法与applicationDidEnterBackground() 成对出现,在应用程序回到前台时被调用。相对地,我们通常在这里继续播放刚才暂停的音乐,显示游戏暂停菜单等。
0 0
- "AppDelegate.h" 和"AppDelegate.cpp" 分析
- Appdelegate.h和.cpp的简单解析
- AppDelegate.h
- AppDelegate分析
- AppDelegate
- AppDelegate
- AppDelegate
- AppDelegate
- AppDelegate
- AppDelegate
- AppDelegate
- AppDelegate
- AppDelegate
- AppDelegate
- AppDelegate
- appdelegate
- AppDelegate
- AppDelegate
- openwrt 中个网络接口协议说明
- Java多线程的用法详解
- LCD fb参数如何计算
- 黑马程序员---------多线程
- Oracle SQL优化
- "AppDelegate.h" 和"AppDelegate.cpp" 分析
- Android LOCAL_MODULE_TAGS 选项说明
- CSS透明opacity和IE各版本透明度滤镜filter的最准确用法
- Annotation学习
- Mac及Xcode常用快捷键
- ListView一些常用的style设置
- HashMap的两种排序方式
- 如何让当前页面3秒以后自动跳转到其他页面
- jQuery实现当按下回车键时绑定点击事件