用Unity制作一个很火的找不同游戏,包括核心玩法与关卡编辑器工具的实现

玩家们心里都清楚,其实游戏的品类超级多,有些人喜欢玩moba、射击竞技类的,有些人喜欢塔防、策略、回合制类的,而又有些人喜欢经营养成、休闲益智类的。休闲益智类游戏,虽没像moba类游戏的激烈操作带来的刺激感,但舒缓的节奏,配合唯美的美术音乐以及很棒故事主题,同样能赢得玩家的喜爱。我在一些应用商店搜索了关于找不同玩法的游戏,不管是下载量还是口碑都是蛮不错的。

那找不同的游戏是如何实现的呢?这游戏的核心本质主要在于两点:其一是关卡数据如何快速高效地配置导出;其二是如何判定玩家是否找出2张相似图片中对应的不同之处。至于其后再引入时间限制的玩法,也只是在前面的核心玩法算法上的丰富而已。套用句古话:“万变不离其宗”。

01

游戏场景的搭建

找不同游戏的游戏界面很简单,主要由2张相似图片对象组成。你可以摆成竖向的,但我这里想把它做成横屏的游戏。游戏场景的结构组成如下图所示。

是不是很简单?嘿嘿。这个场景不仅在游戏运行时使用,也在我们可视化编辑关卡数据时运用到。

02

关卡编辑器工具实现

这类游戏一般都以关卡为单位,每个关卡又大同小异,最笨的方法是为每一个关卡新建一个游戏场景,每个场景就是一个关卡,游戏运行到某关卡时加载对应的场景,这种做法显得笨拙,扩张性和灵活性太差啦!那有木有更好的实现方法呢?答案是有的,游戏场景只有一个,当游戏进行到不同关卡时,只需加载该关卡的配置数据文件进行场景初始化即可,显然第2种方法更可取。那么要如何高效快速地配置关卡数据,这又是个问题,负责配置关卡的很可能是对代码一窍不通的某位仁兄如策划等,尽量让他们配起来爽的飞起!这是我们程序猿首要目标。这就需要写个关卡编辑工具,一个基本都是傻瓜式的界面化操作工具。

接下来介绍关卡编辑工具的实现。

  1. 数据结构设计:数据结构很重要,一个好的数据结构是游戏好实现的基础和关键。

关卡的数据结构:2张精灵图片、所有不同部分的位置和大小信息集合。部分核心代码截图如下。

关卡配置表结构:是关卡数据的List列表,最终导出为.asset文件保存。

  1. 关卡编辑工具编写:关于关卡数据的编辑,笼统地讲就是类似数据库的“增、删、查、改”的操作。工具本质就是将关于关卡数据编辑的操作进行“可视化”,下面是实现的关卡编辑工具的界面。是不是一目了然,一看就知道怎么使用了,哈哈,要的就是这种效果!

接下来针对实现该编辑工具的难点进行介绍,其他的读者可下载本工程源码查看。

首先,将之前配置保存的关卡数据文件加载,如果没有则进行创建。使用AssetDatabase.LoadAssetAtPath进行加载,AssetDatabase.CreateAsset创建.asset文件,部分核心代码截图如下。

其次,是关于如何新增、删除一个关卡,实质是对关卡集合的添加、删除操作。使用levelAsset.LevelDataList.Add/RemoveAt添加新关卡或删除特定关卡,部分核心代码截图如下。

再次,是关于特定关卡的数据编辑修改。

一是关于图像的选择。使用EditorGUILayout.ObjectField可以是精灵属性变量可视化操作,部分核心代码截图如下。

二是热区对象预设对象的创建。

三是关于热区即不同点区的编辑包括创建、位置以及大小设置。实质是在游戏场景中创建一个热区对象,然后把它的位置和大小信息记录下来即可。值得注意的是,俺们这里是在打开关卡编辑界面时,预先在场景中创建了“一批”热区对象的“缓冲池”而且“管够保量”。之后只需取用即可。EditorGUILayout.Vector2Field可以将位置和大小变量可视化。关于posList和sizeList集合操作Add/RemoveAt,部分核心代码截图如下。

至此,一个相对完美的找不同游戏关卡的编辑工具大功告成!

03

核心玩法算法实现

找不同游戏的玩法还蛮简单的,这个算法主要分两个部分。一部分是游戏关卡地图的生成,另一部分是判定所有的热区是否被找到。

首先,介绍一下游戏关卡地图的生成实现。先加载当前关卡数据,根据关卡配置加载2张相似的图片,然后在两张图片上的相对位置生成相同的“透明”的热区对象即可,且这些热区对象支持点击响应操作。

部分核心代码截图如下

其次,是关于找到不同热区的检查判定。如果对应编号的热区其中一个被点击,则在这对热区对象处生成一对儿“圈圈”表示已找到。等到所有的热区都被找到,则游戏通关!

部分代码截图如下

04

结语

文章至此也就把如何制作一款比较火的找不同的游戏全过程介绍完了,如果读者有兴趣自己去做出一款高品质的找不同类型的游戏,可以在这个Demo项目工程基础上进行扩展和丰富。当然这是俺一家之言,找不同的核心玩法实现方式有很多种,只是做个抛砖引玉哈。欢迎大家评论区留言,一起交流学习!最后附上Demo工程地址:

链接:https://pan.baidu.com/s/1TK6I--DdGD__hvwhQrLdfg

提取码:iozr

--来自百度网盘超级会员V5的分享

  • 6
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
### 回答1: Unity游戏源码是帮助开发者快速开发游戏的一种资源,它包含了游戏核心代码、图形化编辑器以及常用的资源。而仿开心消消乐和鲜汁match 3是两个非常流行的精品三消游戏,是现代手机游戏中非常受欢迎的游戏类型之一。这些游戏玩法上相似,但具有不同的主题和图形界面。 对于开发者来说,这类游戏源码可以大大缩短开发周期,高效地构建游戏。本源码提供了该游戏类型的主要功能,并可以通过编辑器进行设置和修改。在使用时,开发者可以将自己的游戏图形、音效、关卡设计等方面按照自己的需求进行修改。 当然,该源码中也包含了注释和文档,方便开发者理解代码,按照该代码进行开发游戏,或在此基础上进行二次开发。无论是初学者还是有经验的开发者,都可以快速了解和应用这些代码。同时,这也提供了一个良好的学习机会,以提高开发者在Unity游戏开发领域的技能水平。 总而言之,Unity游戏源码提供了完整的鲜汁match 3三消游戏源码,包含了游戏主要功能和图形化编辑器,帮助开发者快速构建一个高质量的三消游戏,提高客户满意度,早日上线游戏市场开发中赚取利润。 ### 回答2: Unity游戏源码是一个非常有价值的资源,它可以帮助游戏开发者快速完成游戏开发,提高开发效率和游戏品质。仿开心消消乐精品源码是一份非常经典的三消游戏源码,这个游戏玩法简单易懂,非常受欢迎。这份源码可以为开发者提供很好的参考,帮助他们更好地理解游戏开发过程。 鲜汁match 3完整项目是一份非常全面的三消游戏源码,它包含了完整的游戏功能,包括各种元素的分数、特效和道具等。这份源码可以为游戏开发者提供一个完整的游戏开发框架,帮助他们快速完成三消游戏的开发。 编辑器一个非常重要的工具,它可以帮助游戏开发者更加高效地完成游戏开发。鲜汁match 3完整项目包含了一个非常实用的编辑器工具,可以让游戏开发者轻松地调试游戏,修改游戏中的各种元素参数。 精品三消游戏是一种非常受欢迎的游戏类型,拥有很高的市场潜力。Unity游戏源码中的仿开心消消乐精品源码和鲜汁match 3完整项目是非常经典的游戏源码,它们具备很高的参考价值和开发价值,可以帮助游戏开发者更好地完成精品三消游戏的开发。 ### 回答3: Unity游戏源码是一个用于创建游戏开发的跨平台游戏引擎,其源码可以帮助程序员加速游戏的开发。仿开心消消乐精品源码是一个基于三消玩法游戏源码,玩家需要在规定时间内通过消除指定数量的相同物品来获得高分。而鲜汁match 3完整项目是一个精品三消游戏的完整项目源码,游戏玩法也是基于三消方式,但是它添加了更多丰富的关卡玩法和道具,游戏画面和音效也更加精美,提高了游戏的娱乐性。 除了提供游戏源码和完整项目编辑器以外,Unity还提供了许多其他工具,例如游戏引擎,各种资源和插件等,这些功能使得创作过程变的更加高效和容易。开发者只需要选择一个适当的源码,然后根据自己的需求和预算,进行开发和改进,就可以快速地创建出一个精美的三消游戏啦!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Data菌

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值