贪吃小怪兽介绍之客户端帧同步框架

2023-10-18 09:10

本文主要是介绍贪吃小怪兽介绍之客户端帧同步框架,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

如图所示

VKey是虚拟按键,用户每一帧的输入通过事件发送到PVPGame,FixedUpdate是Unity的不是自己写的,由Unity来驱动PVPGame,每一次驱动包括发送一次数据包和从帧同步管理器获取播放的帧数:

1、如果是0,说明没有多余的数据了,就是网络卡了,没收到数据。。Unity的框架还是正常运行,但是我不驱动任何物体运动,看起来跟游戏卡了一样。

2、如果是大于0的数,说明要播放这么多帧,从帧同步管理器获取指定数量的数据包。

注意:因为服务器一帧是66ms,客户端是33ms,所以客户端要插帧。小怪移动则播放上一帧的数据,攻击和技能就忽略了,其实也可以不忽略,因为普通攻击是依赖动画帧事件计算伤害的,连按两次Attack出去的只有一次,至于技能,因为只有一个技能栏,有技能的话上一帧就扔出去了,连续两次点击技能其实也时候打出一个技能,不过为了严谨就只播放移动数据,忽略其他。

为什么要获取播放多少帧,因为实际上收到一个数据不是立刻播放完,而是有一定策略的,像播视频一样,播放的时候会缓存,因为不缓存怕网络卡了,视频立刻就会卡,如果有缓存即使网络卡一下,还可以播放缓存的数据,等到缓存数据快播完的时候网络可能又恢复了,所以看视频可以全程不卡。游戏也是这样,有时候收到3个包,我还是一个一个播放,而不是播放3个,虽然有小小延迟,但是游戏一直是流畅的。如果卡了一下突然网络好了,可能一次收到100个包,这时候可能一帧就要播放10个包来快速缩小延迟,可以在UnityEditor上点击暂停来模拟网络延迟。

 

这篇关于贪吃小怪兽介绍之客户端帧同步框架的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/231632

相关文章

Linux线程同步/互斥过程详解

《Linux线程同步/互斥过程详解》文章讲解多线程并发访问导致竞态条件,需通过互斥锁、原子操作和条件变量实现线程安全与同步,分析死锁条件及避免方法,并介绍RAII封装技术提升资源管理效率... 目录01. 资源共享问题1.1 多线程并发访问1.2 临界区与临界资源1.3 锁的引入02. 多线程案例2.1 为

MySQL常用字符串函数示例和场景介绍

《MySQL常用字符串函数示例和场景介绍》MySQL提供了丰富的字符串函数帮助我们高效地对字符串进行处理、转换和分析,本文我将全面且深入地介绍MySQL常用的字符串函数,并结合具体示例和场景,帮你熟练... 目录一、字符串函数概述1.1 字符串函数的作用1.2 字符串函数分类二、字符串长度与统计函数2.1

Redis客户端连接机制的实现方案

《Redis客户端连接机制的实现方案》本文主要介绍了Redis客户端连接机制的实现方案,包括事件驱动模型、非阻塞I/O处理、连接池应用及配置优化,具有一定的参考价值,感兴趣的可以了解一下... 目录1. Redis连接模型概述2. 连接建立过程详解2.1 连php接初始化流程2.2 关键配置参数3. 最大连

Python Web框架Flask、Streamlit、FastAPI示例详解

《PythonWeb框架Flask、Streamlit、FastAPI示例详解》本文对比分析了Flask、Streamlit和FastAPI三大PythonWeb框架:Flask轻量灵活适合传统应用... 目录概述Flask详解Flask简介安装和基础配置核心概念路由和视图模板系统数据库集成实际示例Stre

Olingo分析和实践之OData框架核心组件初始化(关键步骤)

《Olingo分析和实践之OData框架核心组件初始化(关键步骤)》ODataSpringBootService通过初始化OData实例和服务元数据,构建框架核心能力与数据模型结构,实现序列化、URI... 目录概述第一步:OData实例创建1.1 OData.newInstance() 详细分析1.1.1

zookeeper端口说明及介绍

《zookeeper端口说明及介绍》:本文主要介绍zookeeper端口说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、zookeeper有三个端口(可以修改)aVNMqvZ二、3个端口的作用三、部署时注意总China编程结一、zookeeper有三个端口(可以

Python中win32包的安装及常见用途介绍

《Python中win32包的安装及常见用途介绍》在Windows环境下,PythonWin32模块通常随Python安装包一起安装,:本文主要介绍Python中win32包的安装及常见用途的相关... 目录前言主要组件安装方法常见用途1. 操作Windows注册表2. 操作Windows服务3. 窗口操作

Spring 框架之Springfox使用详解

《Spring框架之Springfox使用详解》Springfox是Spring框架的API文档工具,集成Swagger规范,自动生成文档并支持多语言/版本,模块化设计便于扩展,但存在版本兼容性、性... 目录核心功能工作原理模块化设计使用示例注意事项优缺点优点缺点总结适用场景建议总结Springfox 是

c++中的set容器介绍及操作大全

《c++中的set容器介绍及操作大全》:本文主要介绍c++中的set容器介绍及操作大全,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录​​一、核心特性​​️ ​​二、基本操作​​​​1. 初始化与赋值​​​​2. 增删查操作​​​​3. 遍历方

HTML img标签和超链接标签详细介绍

《HTMLimg标签和超链接标签详细介绍》:本文主要介绍了HTML中img标签的使用,包括src属性(指定图片路径)、相对/绝对路径区别、alt替代文本、title提示、宽高控制及边框设置等,详细内容请阅读本文,希望能对你有所帮助... 目录img 标签src 属性alt 属性title 属性width/h