当前位置: 首页 > news >正文

企业网站app开发平台企业产品推广运营公司

企业网站app开发平台,企业产品推广运营公司,wordpress 收费主题破解版,网页视频怎么下载到u盘上对于一般的按键输入,我们通常这么做,直接if按了什么键,就执行相应的操作 在这里我们是将用户的输入和程序行为硬编码在一起,这是我们很自然就想到的最快的做法。 但是如果这是一个大型游戏,往往我们需要实现一个按键…

对于一般的按键输入,我们通常这么做,直接if按了什么键,就执行相应的操作
在这里插入图片描述

在这里我们是将用户的输入和程序行为硬编码在一起,这是我们很自然就想到的最快的做法。
但是如果这是一个大型游戏,往往我们需要实现一个按键配置的功能(话说2077直到上线都没有实现这个功能),这样写就不行了。 我们需要让这些“行为”可以变化。

同时,我们有时候还会希望玩家可以操控不同的角色,而不同的就角色可能在按同一个按键的时候做出不同的动作。

这个时候我们就需要考虑使用命令模式了。

采用命令模式后,我们将jump,fire这些方法做成一个抽象类command的子类,这样每个命令就有了面向对象的形式的封装(将命令变为数据对象,让这个对象和其他对象一样可以被存储和传递)
定义基类
在这里插入图片描述

定义命令子类,其他的命令和这个子类一样定义就行
在这里插入图片描述

注意到这里会传入actor,也就是说,这样做的话游戏就会根据传入的对象来做不同的复杂指令
然后在刚才做按键输入的地方,我们这么做,只传回命令类的指针,这里buttonX_的类型是command*

在这里插入图片描述

然后在Tick里这么写

在这里插入图片描述

通过这种方式,我们就解决了开头提到的两个问题。

1.对于不同的按键,由于其类型都是command*,我们只需要让这个指针指向不同的子类命令对象,就可以实现按键配置功能了。

2.对于不同的游戏角色,我们因为会往里边传入不同actor的引用,最后调用的是actor中内置的方法(如jump方法),这就实现了不同的角色拥有不同的按键行为。

通过命令模式,我们实现了将按键输入控制器,输入的命令,以及目标角色的行为三者解耦。

命令模式还可以做什么?

由于我们将命令封装成了数据,那么我们就很容易实现一个命令队列,从而可以轻易实现撤销、重做、时光倒流等功能。
在这里插入图片描述

命令数据还可以形成日志,用于复现用户行为,便于重复测试同样序列命令对各种目标的影响。

原书链接:
命令模式 · Design Patterns Revisited · 游戏设计模式 (tkchu.me)

http://www.15wanjia.com/news/52224.html

相关文章:

  • bootstrap开源模板seo也成搜索引擎优化
  • 宁波网站排名提升seo技术
  • 专业设计网站排名大数据是干什么的
  • 唐山seo公司百度官网优化
  • 效果图制作软件手机版外贸推广优化公司
  • 门户网站建设周期0元做游戏代理
  • 网站设计云匠网网络营销五个特点
  • 博彩游戏网站怎么建设网站收录申请
  • 淘宝客怎么做自己的网站重庆网站seo公司
  • 贵阳小程序开发软件公司seo站长优化工具
  • 顺德水利和国土建设局网站全国各城市疫情搜索高峰进度
  • 过年做啥网站致富免费推广的网站平台
  • 艺术品拍卖网站源码php深圳百度国际大厦
  • 南海网站建设公司二级域名网址查询
  • 专业做家居的网站有哪些优化百度涨
  • 网站建设过程中的需求分析营销网站案例
  • 企业展示型网站有哪些网络优化师
  • 网站页面制作万网域名注册查询
  • 重庆网站建站模板公司广告优化师工作内容
  • 介绍一学一做视频网站吗百度信息流推广是什么意思
  • 环保主题网站模板百度下载安装app
  • 射阳网站设计网络文章发布平台
  • 怎么做企业网站教程视频信息流广告投放
  • 专业二维码网站建设域名注册哪个网站好
  • 凡科建设网站如何对话框百度网盘链接
  • 莱州网站建设东方网络律师团队
  • 华为网站的建设建议北京网络排名优化
  • 哪些网站可以做详情页seo优化百度技术排名教程
  • wordpress免费企模板长沙网站seo推广公司
  • 可以做网站背景音乐的英文歌曲百度主页入口