游戏开发中的“御用中介“

编程入门 行业动态 更新时间:2024-10-09 13:22:19

游戏开发中的“<a href=https://www.elefans.com/category/jswz/34/1709322.html style=御用中介“"/>

游戏开发中的“御用中介“

点击上方亿元程序员+关注和星标

引言

大家好,我是亿元程序员,一位有着8年游戏行业经验的主程。

本系列是《和8年游戏主程一起学习设计模式》,让糟糕的代码在潜移默化中升华,欢迎大家关注分享收藏订阅。

游戏开发中的"御用中介"-中介者模式

让我们一起来探讨一下游戏开发中的中介者模式,这是一个非常常见的设计模式,能够帮助游戏开发者更好地管理游戏内部的各种交互和通信

本文源码和源工程在文末获取,小伙伴们自行前往。

什么是中介者模式?

中介者模式是一种行为型设计模式,它的主要目标是减少组件之间的直接交互,将这些交互集中在一个中介者对象中。在游戏开发中,这意味着将各个游戏对象之间的通信和协作交给一个中介者来处理,而不是让它们直接互相通信。

中介者模式在游戏中的应用

1. 管理游戏对象之间的交互

在游戏中,有各种各样的游戏对象,例如角色、敌人、道具等。它们通常需要相互协作,但直接的交互可能会导致复杂的依赖关系。中介者模式可以用来管理它们之间的交互,通过中介者对象来协调它们的行为,从而降低系统的复杂性。

2. 实现事件系统

中介者模式可以被用来构建游戏的事件系统,其中游戏对象不直接通知其他对象,而是通过中介者发布和订阅事件。这种方式可以简化事件处理和管理,使游戏更容易扩展和维护

3. 多人游戏中的网络通信

在多人游戏中,各个玩家之间需要进行大量的通信和协作。中介者模式可以用来处理网络通信,确保玩家之间的数据同步和协作,同时降低网络延迟和负载

中介者模式的优点

  • 降低了对象之间的耦合度,使系统更容易维护和扩展。
  • 提高了代码的可读性和可维护性,因为所有的交互都集中在一个地方。
  • 支持更灵活的系统设计,允许动态添加和移除对象,而不会破坏系统的稳定性。

一起来使用中介者模式

1.角色类与动画

首先声明一个Character角色基类,定义了动画组件,组件是FrameAnim序列帧动画组件,用于管理和播放角色的序列帧动画,大家可以通过文章《CocosCreator帧动画组件FrameAnim实现与使用》获取。

2.具体角色类

首先声明一个Player类,它包含攻击attack、追逐chase、停止Stop方法。

然后声明一个Enemy类,它包含受伤takeDamage、逃跑escape方法。

3.中介者

声明一个Mediator中介类。主要用来处理玩家的请求和将请求传达给目标。

4.测试代码

首先按照惯例创建2个具体的主角和怪物,本次测试主角是一头狼、攻击目标是一个小女孩

监听事件,键盘space键控制玩家攻击,长按键盘d移动角色,放开d取消移动。

5.结果演示

测试成功,当狼追逐的时候,小女孩逃跑,当狼停下来的时候,小女孩也一起停下来,当狼攻击的时候,小女孩应声倒地。全程都是通过"御用中介"去处理和操作。

结语

在哪里可以看到如此清晰的思路,快跟上我的节奏!关注我,和我一起了解游戏行业最新动态,学习游戏开发技巧。

本系列是《和8年游戏主程一起学习设计模式》,让糟糕的代码在潜移默化中升华,欢迎大家关注分享收藏订阅。

我是"亿元程序员",一位有着8年游戏行业经验的主程。在游戏开发中,希望能给到您帮助, 也希望通过您能帮助到大家。

AD:笔者线上的小游戏《贪吃蛇掌机经典》《重力迷宫球》《填色之旅》大家可以自行点击搜索体验。

实不相瞒,想要个在看!请把该文章分享给你觉得有需要的其他小伙伴。谢谢!

推荐专栏:

8年主程手把手打造Cocos独立游戏开发框架

从零开始开发贪吃蛇小游戏到上线系列

游戏开发的技巧、心得、资讯

关注我,发送"中介者模式"获取源码和源工程。

点击下方绿色按钮+关注

更多推荐

游戏开发中的“御用中介“

本文发布于:2023-11-16 13:09:38,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1623345.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:御用   游戏开发   中介

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!