首先,我们考虑一下,角色控制有哪几种类型

1.当前用户的游戏角色
2.非本用户游戏角色,但是与当前用户角色在同一张地图上的其他角色

那么针对这样两种控制,我想到了使用不同的控制器,第一种:playerInputController、第二种EntituController,
playerInputController 这个控制器用来控制当前用户的角色,他是通过用户输入的键位来实现移动
EntityController 是用来控制场景中其他用户角色的移动,
至此,第一个问题告一段落,来看下一个问题

playerInputController 这个控制器很好实现,EntityController要如何实现,当前用户怎样才能知道其他玩家的移动状态,或者更简单的说,其他玩家在地图中的位置

1.我们先来解决最简单的问题,当前用户如何才能知道其他玩家在地图中的位置
解决方法:每隔一段时间,其他玩家所在的客户端,主动向服务器提交它在地图中的位置,服务器收到以后,向当前玩家发送其他玩家在地图中的位置即可,
2.在来看一下移动状态的问题,其实上一个问题解决之后,这个问题也是很好解决的,只要其他玩家在发送自己的位置的时候,把自己的移动状态也发送到服务器不就可以了?
至此,这个问题解决

新的问题来了,现在当前的玩家已经知道了其他玩家在当前地图中的位置,那么怎样才能将他映射成真正的移动状态呢?

1.首先解决最简单的问题,我并不映射为真正的移动状态,我仅仅是把角色移动到它在地图中真正的位置
解决方法:每一个当前角色每隔一帧都向服务器报告自己的位置信息,每当服务器接收到这样的信息之后,立刻将这个角色的位置信息,广播给其他与这个角色在同一张地图的所有玩家(当然,这里可以设置一些参数,比如,只广播给与这个玩家相距多少范围内的玩家)
2.简单的问题解决了,下面来解决映射移动状态的问题,其实与上一个问题一样,只需要在报告位置的同时附加上当前的移动状态即可,当其他角色收到这样的数据,就可以通过EntityController来控制其他玩家的移动

至此问题全部解决,这里只是提供了我在做的时候的一些思路,肯定还有性能更好,效率更快的方法!

MMorpg角色进入主城之角色控制相关推荐

  1. 基于角色-功能-资源的权限控制模型的设计与实现-引子

    摘要 本文在RBAC基本思想的基础上,增加资源权限的概念,设计了在企业应用系统中用户权限控制的一种具体的简单实现方法. 关键字 用户权限控制 名词解释 资源权限:资源指的是纳入企业应用的一切需要管理的 ...

  2. .NET Core 3.0 一个 jwt 的轻量角色/用户、单个API控制的授权认证库

    作者:痴者工良(朋友合作原创) 来源: https://www.cnblogs.com/whuanle/p/11743406.html 目录 说明 一.定义角色.API.用户 二.添加自定义事件 三. ...

  3. 纳税服务系统四(角色模块)【角色与权限、角色与用户】

    需求分析 我们直接来看看原型图,看看需求是怎么样的: 这里写图片描述 这里写图片描述 我们看到上图,就会发现角色模块主要还是CRUD,唯一不同的就是它不再是单独的实体关系.角色与权限是存在关系的. 之 ...

  4. 系统角色的使用和角色构建创建方式

    系统角色的使用和角色构建创建方式 1.控制执行顺序 对于playbook中的每个play,任务按照任务列表中的顺序来执行.执行完所有任务后,将执行任务通知的处理程序 在角色添加到play中后,角色任务 ...

  5. 角色操作-查询所有角色代码实现

    角色查询 角色页面role-list.jsp <%@ page language="java" contentType="text/html; charset=UT ...

  6. 【模型分享】全网质量最高最全《王者荣耀》角色3D模型独立角色

    [模型分享]全网质量最高最全<王者荣耀>角色3D模型独立角色 在这里插入图片描述 模型分享

  7. SQLServer中服务器角色和数据库角色权限详解角色

    当几个用户需要在某个特定的数据库中执行类似的动作时(这里没有相应的Windows用户组),就可以向该数据库中添加一个角色(role).数据库角色指定了可以访问相同数据库对象的一组数据库用户. 数据库角 ...

  8. 机器人 零境交错吧_电击文库零境交错角色培养攻略 角色培养方法详解

    第1页: 展开 电击文库零境交错角色培养攻略,在游戏中很多玩家都比较关心怎么培养角色比较好,如果不了解的玩家可以来看一下哦. 角色培养攻略 角色通过抽卡获得,几乎每个角色都有金.紫.蓝.绿(从高到低) ...

  9. 什么是角色建模?3D角色建模简介

    角色建模的艺术 - Maya 到 ZBrush 无论您是在观看您最喜爱的动画电影.欣赏下一部 VFX 大片,还是在玩动感十足的视频游戏,您屏幕上的每个角色都是由一群才华横溢的艺术家创作的.很容易忽视设 ...

最新文章

  1. 关于stm32的数据类型
  2. 【HDU6667】Roundgod and Milk Tea【贪心】
  3. JavaScript之事件的绑定与移除
  4. 强化学习(五)—— AlphaGo与Alpha Zero
  5. 1033 To Fill or Not to Fill (25 分)【难度: 难 / 知识点: 模拟 贪心】
  6. 1.Maven+SpringMVC+Eclipse软件安装配置,Maven报插件错误,Eclipse总是卡死的解决办法,导入一个maven工程后 一直显示importing maven project
  7. YaoLingJump开发者日志(七)
  8. 负数如何归一化处理_机器学习之数据预处理
  9. ACM: hihicoder #1174 : 拓扑排序·一 STL- queue
  10. [转]python3_unboundlocalerror报错原因
  11. FastDFS存储服务器部署
  12. C# 合并多个不同格式文档为一个PDF
  13. finally中关闭资源
  14. c语言switch工资怎么弄,超级新手,用switch写了个计算器程序,求指导
  15. BLDC无刷直流电机的原理及驱动基础
  16. 基于html5贪吃蛇小游戏,H5 canvas实现贪吃蛇小游戏
  17. JS - 获取用户当前 ip 地址
  18. 中国货币政策的动态有效性研究--基于 TVP-SV-FAVAR 模型的实证分析
  19. 小项目:网易云音乐播放器
  20. oracle 11g 下载

热门文章

  1. 被 ChatGPT “霍霍”的文学界:由 AI 编写的投稿激增,17 岁老牌杂志宣布暂停征稿...
  2. POI封装工具easyexcel导出EXCEL表样式设置
  3. python sanic部署_Sanic 部署
  4. [题解]CSP-分蛋糕(线性表)
  5. Lua 面向对象基础-类和对象(一)
  6. SpringBoot整合junit测试案例
  7. Mac安装虚拟机(parallels desk或者VmwareFusion)搭建Openstack服务器管理,安装开源的 pritunl 进行服务器连接
  8. Docker容器监控可视化cAdivisor+InfluxDB+Grafana
  9. basys2数码管共阳还是共阴_如何测定数码管是共阴还是共阳?
  10. 距离远的贴图出现模糊的解决方法