【cocos2d-x 3.x】02-简单看一下cocos的消息循环的步骤

帧循环

cocos是如何保持60帧一秒的

在执行完applicationDidFinishLaunching中我们自定义的初始化代码后,便开始游戏的帧循环

while(!glview->windowShouldClose())

{

   QueryPerformanceCounter(&nNow);

    //计算当前时间与上一帧的时间间隔是否大于设定每帧的时间间隔(默认60帧/秒)

   if (nNow.QuadPart - nLast.QuadPart >_animationInterval.QuadPart)

   {

        nLast.QuadPart= nNow.QuadPart;//重置上一帧的时间

        director->mainLoop();    //开始进入主循环 mainLoop所做的事情

        glview->pollEvents();

   }

   else

   {

       //如果在一帧内,已经完成循环动作,则执行这里,确保每秒帧数达到设置值

        Sleep(0);

   }

}

mainLoop

mainLoop,顾名思义,这是游戏的主循环

void DisplayLinkDirector::mainLoop()

{

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值