cocos2d-x源码分析::主流程(mainloop)分析

本文详细分析了cocos2d-x游戏引擎的主流程,从AppDelegate的创建和run函数开始,揭示了setAnimationInterval如何设定帧率,以及runWithScene启动游戏场景。通过while循环实现主循环,每1/60秒执行一次CCDirector的mainloop,该函数在CCDisplayLinkDirector中实现,负责绘制图像和内存管理。
摘要由CSDN通过智能技术生成

cocos2d-x的源码分析由这章开始,希望大家在看这篇博文之前,对cocos2d-x有一定的了解,或者做过一些小demo,这样才能更好地了解到这篇文章所说的一些问题


分析现在开始


cocos2d-x程序的入口根据平台的不同而有所区别,但是游戏的入口均是

//main.cpp
...
...
int APIENTRY _tWinMain(HINSTANCE hInstance,
                       HINSTANCE hPrevInstance,
                       LPTSTR    lpCmdLine,
                       int       nCmdShow)
{
    ...
    AppDelegate app;
    ...
    return CCApplication::sharedApplication()->run(); //游戏入口
}

显然,run就是游戏的开始

不过在run之前程序定义了AppDelegate的一个对象app,这个类的对象在整个程序仅有一个,其实app就是游戏本身。

翻看AppDelegate.h可以发现,AppDelegate是CCApplication的子类,里面的函数也不算太多

我们这里详细说说applicationDidFinishLaunching()

//AppDelegate.cpp
...
...
bool AppDelegate::applicationDidFinishLaunching() {
    ...
    pDirector->setDisplayStats(true);

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值