烈焰遮天 cocos 手游mmo 源码 解析
2018-06-17 22:12:08来源:未知 阅读 ()
引擎: cocos2.x
代码: c++ 混合 lua
游戏类型: mmo
工程结构:
game : 游戏启动地方
gamelogic:接sdk相关,登陆支付统计等
libFramework:主要本游戏相关c++库
uicontrol:
zpack:一个开源的打包文件工具
-----------------------------------------------------------------------------------------
分析libFramework:
base目录
sfapp.h : 框架app,继承了一个scene,这是本游戏的主scene基类。
cpp:
[cpp] view plain copy
- #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地图等元素逻辑
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- cocos2dx spine之一 :spine缓存 (c++ & lua) 2018-06-17
- cocos2dx 从2.2.6 到3.16 升级流水记录 2018-06-17
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash