欢迎来到飞鸟慕鱼博客,开始您的技术之旅!
当前位置: 首页知识笔记正文

设计模式 迭代器模式,迭代游戏项目

终极管理员 知识笔记 96阅读

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

引言

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

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

今天我们要来聊一聊游戏开发中的一个重要设计模式——迭代器模式。相信很多开发者在开发过程中都会遇到需要遍历数据结构的情况而迭代器模式就是一种非常优雅的解决方案。那么什么是迭代器模式它又有什么优点呢接下来就让我们一起来揭开迭代器模式的神秘面纱

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

什么是迭代器模式

迭代器模式是一种设计模式它定义了一个迭代器接口该接口包含两个方法hasNext()next()。迭代器接口的实现类负责遍历数据结构返回下一个元素。当没有更多元素时hasNext() 方法应返回 falsenext() 方法应抛出一个异常。

迭代器模式的优点

那么为什么我们需要使用迭代器模式呢这里有几个主要原因

代码解耦迭代器模式将数据结构和遍历逻辑分离使得我们可以在不改变数据结构的情况下轻松地添加、删除或修改元素。这大大提高了代码的可维护性和可扩展性提高代码复用性通过使用迭代器模式我们可以将遍历逻辑封装在一个独立的类中从而实现代码的复用。这对于游戏开发中的多个场景如角色列表、物品栏等来说可以大大减少重复代码。增强代码可读性迭代器模式使得代码更加简洁、清晰易于阅读和理解。这对于团队合作和代码审查来说是非常有帮助的。 在游戏中运用迭代器模式

下面我们一起来做一个怪物展示Demo,通过它去理解迭代器模式。

1.怪物

首先我们需要创建一个怪物类用于存储怪物的信息包括怪物名字和怪物图片路径

2.怪物迭代器

接下来我们创建一个怪物迭代器类用于遍历怪物列表该接口包含两个方法hasNext()next()

3.使用迭代器

然后我们创建一个怪物列表并使用迭代器模式来遍历怪物列表并给怪物添加上一篇文章手敲的FrameAnim帧动画组件。

通过space按键去遍历怪物并且切换怪物。

4.资源准备

老样子拿出82年的典藏资源(好东西)。

5.结果演示

在这个示例中我们使用了一个简单的数组来存储怪物信息并使用迭代器模式来遍历这个数组。

当然在实际的游戏开发中你可能需要使用更复杂的数据结构来存储怪物信息但基本的迭代器模式的思路是相同的。

通过使用迭代器模式我们可以更加灵活地处理游戏中的各种数据结构提高代码的可读性和可维护性

结语

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

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

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

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

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

推荐专栏

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

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

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

关注我发送迭代器模式获取源码和源工程。

点击下方绿色按钮关注

标签:
声明:无特别说明,转载请标明本文来源!