引擎: cocos2.x

代码: c++ 混合 lua

游戏类型: mmo

工程结构:

game : 游戏启动地方

gamelogic:接sdk相关,登陆支付统计等

libFramework:主要本游戏相关c++库

uicontrol:

zpack:一个开源的打包文件工具

-----------------------------------------------------------------------------------------

分析libFramework:

base目录

sfapp.h : 框架app,继承了一个scene,这是本游戏的主scene基类。

cpp:

#include "sofia/utils/SFLog.h"
#include "include/utils/SFTimeAxis.h"
#include "map/StructCommon.h"
#include "base/SFApp.h"
#include "SFSimulator.h"
//#include "download/mfDownloader.h"using namespace cocos2d;SFApp::SFApp()
{//this->init();
}SFApp::~SFApp()
{
}void SFApp::startRun()
{cocos2d::CCSize size = cocos2d::CCEGLView::sharedOpenGLView()->getFrameSize();m_width = size.width;m_height = size.height;//执行update循环!getScheduler()->scheduleUpdateForTarget(this, kCCPrioritySystem, false);//虚函数,调用子类的实现this->onInit();
}// void SFApp::stopRun()
// {
//  getScheduler()->unscheduleUpdateForTarget(this);
// }//屏幕宽,
int SFApp::getScreenResolutionX()
{return m_width;
}int SFApp::getScreenResolutionY()
{return m_height;
}//这个simulator,难道是cocos3.x 增加的simulator,待会看看
void SFApp::onTick( int microSecs )
{//SFLog("SFApp::onTick %d", microSecs);SFGameSimulator::sharedGameSimulator()->tick();//网络tick//难道这里只是网络监听而已?//MFDownloader::instance()->tick();            // 下载的回调依赖tick
}void SFApp::onDraw()
{}void SFApp::update( float dt )
{//一个定时器实现。用来干嘛呢?//字面意思,就是在Timer里面,设了一个delaytime,这个应该全局一致SFTimeAxis* pTimeAxis = SFTimeAxis::getInstancePtr();pTimeAxis->advance(dt* 1000);onTick(pTimeAxis->getDelayTime());
}void SFApp::draw( void )
{cocos2d::CCScene::draw();onDraw();
}void SFApp::onDestory()
{}void SFApp::onExit()
{this->removeAllChildrenWithCleanup(true);onDestory();cocos2d::CCScene::onExit();
}bool SFApp::init()
{cocos2d::CCScene::init();startRun();return true;
}

先把基础的一些代码看完,

------------------------------------------------------------------------

utils目录:
ccstrconv.h 对字符串的一些基本转换处理;不错,这些平时都可以收集起来,自己写的项目可以用到

ccstrutil.h  更多的字符串处理

csvfile.h  csv文件的读写

httptools.h  对cocos提供的http进行了一些封装,这个3.x cocos有xmlhttp,本身都封装过

sfeasymail  调用curl库,直接发email,这个蛮吊的嘛!!!给客服发邮件吗?

sfthread  封装了一个线程类,分别为win和android-ios写了不同的实现,信号量,互斥锁,读写锁

singleton 单例模板

streamdataadapter c++和lua直接传递复杂数据的适配器,搞这么复杂。。。

sfminihtml html解析,不知哪里用到

sfexecutionthreadservice  线程的进一步封装

sfprioritynotificationcenter

sfstringutil 更详细的string处理

sftouchdispatcher

----------------------------------------------------------------

stream目录  二进制文件读写操作封装

package  热更新相关

scene scene管理

net 网络

eventset  事件

core 单独写了一个sprite类;用来显示地图上的sprite,有什么好处?

map 主要的mmo地图等元素逻辑

烈焰遮天 cocos 手游mmo 源码 解析相关推荐

  1. Android手游 “2048” 源码解析

    转载请写明出处:http://blog.csdn.net/big_heart_c 下面所解析的源码是来自极客学院"Android 2048 "中的源码,读者可以从 https:// ...

  2. 手游平台源码有什么用处?

    在开发手游平台的基础上,必须要弄清楚手游平台的源码是什么,而源码就是最基础的程序.这是一门编程语言.如果你不认识,就打开你的浏览器,点击F12.你能看见这个页面的源码.源码必须在特定的软件进行编译之后 ...

  3. 手游平台源码搭建有什么好处?

    手游平台搭建市面上有很多种选择,价格几千元到几万元不等,为什么大多数人都选择源码搭建呢?源码是指编写的最原始程序的代码.程序员编写程序的过程中需要他们的"语言",其的工作的语言就是 ...

  4. 最新宝可梦回合/口袋Jue醒手游全套源码+Linux服务端

    正文: 完整标题: 宝可梦回合手游[口袋Jue醒]最新整理Linux手工服务端+GM后台+全套源码 无需下载mongodb上传即可,取消客户端显示调试信息 视频安装教程在源码压缩包内 程序: wwtg ...

  5. 《拳皇咆哮》Cocos2dx 横版动作手游全套源码 + 资源 + 数据库

    <拳皇咆哮>是一款由好玩123公司以重金代理运营的横版动作角色扮演游戏.其游戏在2013年12月7日已入驻pp助手,并得到玩家一致好评.于2013年12月12日正式开启内测!玩家进入游戏将 ...

  6. 天龙八部手游linux源码,天龙八部手游登录源码

    .版本 2 .支持库 dult 客户数组 [条件].发送xx (十六进制到字节集 ("0000000801AF3D3E"))  ' 活动70分钟 延时 (200) 客户数组 [条件 ...

  7. 最新西游H5复仇者手游端系统源码+附带文本教程

    正文: 教程都在文件里了,自己看看吧,这个游戏可玩性还是不错的,自己和小伙伴娱乐也是非常好的,有兴趣的自行去安装体验吧. 程序: wwxths.lanzout.com/iH2kj0ieuh4j 图片:

  8. 帝国CMS 7.5仿《11773手游》源码/手机游戏软件下载门户网站模板

  9. 基于Java毕业设计写手管理平台源码+系统+mysql+lw文档+部署软件

    基于Java毕业设计写手管理平台源码+系统+mysql+lw文档+部署软件 基于Java毕业设计写手管理平台源码+系统+mysql+lw文档+部署软件 本源码技术栈: 项目架构:B/S架构 开发语言: ...

最新文章

  1. Java 对象的生命周期
  2. python语言中文社区-Python 之父谈 Python-Go语言中文社区
  3. LightOJ 1084 Winter(记忆化搜索)
  4. 创建存储过程批量插入数据
  5. Python 非线性方程组
  6. python字符串类型_python字符串类型介绍
  7. linux内核定时器使用
  8. Bezier(贝塞尔)曲线(三阶)的轨迹规划在自动驾驶中的应用(四)
  9. 千头万绪:从一道面试题看数据库性能和安全的方方面面
  10. Web Service随笔
  11. 2.3.2 EditText(输入框)详解
  12. 如何修改硬盘挂载的名字LABEL
  13. Go:Unresolved dependency
  14. 程序员面试华为,面试官出了这样一个面试题,网友:题目太难了
  15. HelloWorld的Java代码
  16. 射频电路PCB的设计技巧
  17. 英特尔400系列服务器芯片组,驱动支持列表再立功 Intel 400系列芯片组曝光
  18. 【论文阅读·2】”Why Should I Trust You?” Explaining the predictions of Any Classifier
  19. 第一次QQ群视频教育有感
  20. vivado ROM IP核简单使用

热门文章

  1. 新人!发个 电力信息化可研模板*
  2. EXCEl 时间戳转换为日期格式
  3. 陀螺年度好文回顾|区块链跨链互操性的意义和应用案例
  4. 智能设备主要有哪些特点
  5. 全新2022测算系统完整版+支持对接结
  6. 图形聚类算法:MCL
  7. HP M132snw 打印机如何在换路由器的时候更换整个局域网配置?
  8. 周鸿祎回应EOS漏洞:不是最后一个,也不是最厉害的一个,EOS主网应延迟上线!...
  9. 计算机动画主要学什么,动画专业主要学什么?
  10. mysql mmm 测试_mysql-mmm有关mmm_control 参数测试