烈焰遮天 cocos 手游mmo 源码 解析
来源:互联网 发布:usb网络共享驱动下载 编辑:程序博客网 时间:2024/05/02 05:48
引擎: 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 源码 解析
- MMO手游地图同步方案总结
- mmo手游地图同步总结
- Cocos手游录制插件:cocos-plugin
- Android手游 “2048” 源码解析
- 一款已上市MMO手游地图同步方案总结
- 一款已上市MMO手游地图同步方案总结
- 一款已上市MMO手游地图同步方案总结
- 一款已上市MMO手游地图同步方案总结
- 一款已上市MMO手游地图同步方案总结
- 一款已上市MMO手游地图同步方案总结
- 一次MMO手游的性能诊断全纪录
- MMO手游地图同步方案的分析与总结
- 手游开发之一 --- cocos环境配置
- 烈焰
- 从一款已上线的MMO手游分析游戏地图的同步方案
- cocos-lua 手游之游戏新手引导
- 手游引擎Unity和Cocos各有什么优劣?
- [Spark2.0]ML 调优:模型选择和超参数调优
- 字符串各种转化
- Splash闪屏页面细节处理以及一些快捷键
- 7. HTTP 请求,响应
- Ubuntu操作入门(1)
- 烈焰遮天 cocos 手游mmo 源码 解析
- 学习笔记:mysql存储过程
- sqlplus修改oracle用户的密码和解锁用户
- java中日期和时间相关类(包括java8中新增java.time包)
- 【分享】找到一篇挺不错的面试题目
- java.lang.Math类
- 百度地图定位以及方向传感器的调用
- 百度地图的植入流程介绍
- equals和==号