UC源码分析游戏保存及CheckPoint实现

CheckPoint是非常普遍的一种游戏进度保存机制

UC中在关卡的关键点放这样一个CheckPoint就能实现游戏进制保存了。

UC保存游戏的数据玩家位置,旋转、弹药,枪、关卡时间

当触发CheckPoint的Overlap事件时,就会收集玩家身上的数据,并调用保存函数

UC保存的核心API就一个,当然这种方式也只能把数据保存在内存中

-----------转载请标明出处

时间: 2024-08-26 03:38:27

UC源码分析游戏保存及CheckPoint实现的相关文章

传奇源码分析-客户端(游戏逻辑处理源分析四)

现在假设玩家开始操作游戏:传奇的客户端源代码工程WindHorn一.CWHApp派生CWHWindow和CWHDXGraphicWindow.二.CWHDefProcess派生出CloginProcess.CcharacterProcess.CgameProcess客户端WinMain调用CWHDXGraphicWindow g_xMainWnd;创建一个窗口.客户端CWHDXGraphicWindow在自己的Create函数中调用了CWHWindow的Create来创建窗口,然后再调用自己的C

传奇源码分析-客户端(游戏逻辑处理源分析三)

6. 接收怪物,商人,其它玩家的消息:ProcessUserHuman:(其它玩家-服务器处理)CPlayerObject->SearchViewRange();CPlayerObject->Operate();遍历UserInfoList列表,依次调用每个UserInfo的Operate来处理命令队列中的所有操作; pUserInfo->Operate()调用m_pxPlayerObject->Operate()调用.根据分发消息(RM_TURN)向客户端发送SM_TURN消息.

传奇源码分析-客户端(游戏逻辑处理源分析五 服务器端响应)

器执行流程:(玩家走动) GameSrv服务器ProcessUserHuman线程处理玩家消息:遍历UserInfoList列表,依次调用每个UserInfo的Operate来处理命令队列中的所有操作; pUserInfo->Operate()调用m_pxPlayerObject->Operate()调用.判断玩家if (!m_fIsDead),如果已死,则发送_MSG_FAIL消息.我们在前面看到过,该消息是被优先处理的.否则则调用WalkTo,并发送_MSG_GOOD消息给客户端.Walk

传奇源码分析-客户端(游戏逻辑处理源分析二)

5.接受登录成功后,接收GameSrv服务器发送的消息:接收GameGate发送的消息:CClientSocket::OnSocketMessage的FD_READ事件中,PacketQ.PushQ((BYTE*)pszPacket);把接收到的消息,压入PacketQ队列中.处理PacketQ队列数据是由CGameProcess::Load()时调用OnTimer在CGameProcess::OnTimer中处理的, 处理过程为:OnMessageReceive; ProcessPacket(

gomoblie flappy 源码分析:游戏逻辑

本文主要讨论游戏规则逻辑,具体绘制技术请参看相关文章: gomoblie flappy 源码分析:图片素材和大小的处理 http://www.cnblogs.com/ghj1976/p/5222289.html 绘制时间间隔控制 绘制是按照 60 FPS 的节奏绘制的(即每秒钟 60 帧),  FPS : frames per second(帧率) 代码中的控制注意是通过 golang.org/x/mobile/exp/sprite/clock 下的 Time 控制的.  Time实际是 int

东麓庄园游戏开发系统源码分析

东麓庄园游戏开发系统源码分析 袁生:151.1222.4001(微信同步)东麓庄园游戏,东麓庄园模式,东麓庄园理财,东麓庄园软件,东麓庄园app,东麓庄园源码,东麓庄园农场,东麓庄园平台,东麓庄园开发,东麓庄园返利,东麓庄园定制开发. 注册和交易注册后最低投资66元,普通领导人帮下级玩家注册激活收66元,转660个金币,其中6元是平台管理费.到达下级会员账号600个金币.会员之间交易不收手续费,果实兑换成金币平台收取10%的手续费.东麓庄园源码开发 151.1222.4001(微信同步) 东麓庄

横屏小游戏--萝莉快跑源码分析三

主角出场: 初始化主角 hero = new GameObjHero(); hero->setScale(0.5); hero->setPosition(ccp(100,160)); hero->setVisible(false); addChild(hero,1); 进入GameObjHero类ccp文件 创建主角及动作 this->setContentSize(CCSizeMake(85,90)); //接收触摸事件 CCDirector* pDirector = CCDire

【雷电】源码分析(一)-- 进入游戏攻击

效果图: 程序分析: 初始化GameLayer场景触摸,背景.音乐.UI及定时间器 bool GameLayer::init() { if (!CCLayer::init()) { return false; } // 开启触摸 this->setTouchEnabled(true); // 创建数组,需要retain一下 play_bullet = CCArray::create(); play_bullet->retain(); enemy_bullet = CCArray::create

【雷电】源码分析(一)-- 进入游戏开始界面

转载请注明出处:http://blog.csdn.net/oyangyufu/article/details/24941949 进入游戏开始界面效果图: 源码分析: StartMenu场景--进入游戏开始界面 初始化场景,包括初始Android按键,添加背景图片,添加logo图片,创建游戏菜单开始/设置/关于并添加其响应事件, 初始化飞船漂移动画,背景音乐 程序分析: bool StartMenu::init() { if ( !CCLayer::init() ) { return false;