加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

"AppDelegate.h" 和"AppDelegate.cpp&am

发布时间:2020-12-14 21:36:54 所属栏目:百科 来源:网络整理
导读:转自 http://blog.163.com/jtyp_2000/blog/static/9910426201310893932976/ 这两个文件是Cocos2d-x 游戏的通用入口文件,类似于一般 Windows 工程中主函数所在的文件。 AppDelegate 控制着游戏的生命周期,除去构造函数和析构函数外,共有3 个方法。 bool ap

转自 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() 成对出现,在应用程序回到前台时被调用。相对地,我们通常在这里继续播放刚才暂停的音乐,显示游戏暂停菜单等。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读