跑酷P6 过关功能

news/2025/3/20 9:56:36/文章来源:https://www.cnblogs.com/Anzio/p/18782435

跑酷游戏 第六集

本集我们实现了完成关卡的功能,并且修复了重新开始游戏后物资的bug。

角色绘制和显示逻辑

我们复制一下我们的物资角色,重命名为出口。然后绘制两个造型,一个是出口关闭的造型,一个是出口打开的造型。

然后到我们的代码部分。我们的出口代码和物资角色的代码有很多是相同的,但也有一些需要修改。我们的出口只需要有本体就可以了,所有关于克隆的部分都可以删掉;然后把移动部分的代码移动到本体里,增加物资部分的代码也可以删除掉了。初始化为关闭造型,也就是不能进入。

接下来我们更新一下位置,我们可以根据上一集学到的测试方法,根据自己的地图选择合适的位置。

接下来就是出口的状态显示了。出口应该一直显示在地图上,当角色没有收集完所有物资,显示是不可进入的状态,当角色收集到所有物资,就显示为开放可以进入。

为了实现这个功能,我们新建一个全局变量物资总数量,来计算我们场上总共有几个需要收集的物资。游戏开始时重置为0,每次克隆后增加1,这样可以根据我们克隆的数量来增加。

回到我们出口的代码中,我们重复执行一个判断,如果玩家收集到的物资数量等于物资总数量,那么就更换造型。

过关逻辑和特效

在切换完造型之后,我们给终点打开后写一个逻辑。和我们失败的时候改变变量一样,我们也建立一个全局变量过关,初始化为no,当玩家收集完物资,到达终点时改变变量的值为yes。

回到角色的部分,我们给移动部分加上一个逻辑,除了失败,过关时也应该不执行。

跳出循环后也不应该直接失败了,而应该判断一下跳出循环的原因。

最后我们完成过关特效。我们可以给玩家加一个绕着出口旋转变小且虚化的过程。

bug修复

我们在上一集重置关卡的时候遗留了问题,当我们重置关卡后,我们收集物资时收集的物资数量会比正常情况下更多。原因是我们的一部分克隆体物资和本体一样也执行了复制的代码后才被删除。我们让物资生成的代码等待一下再执行,就可以让克隆体被正确的删除。

总结

本集课程中我们完成了对通过关卡逻辑和动画的处理。我们关卡内的基本功能就做完了。之后我们就要拓展游戏,给我们的游戏添加关卡等其他功能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/901895.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

跑酷P6 关卡和金币系统

塔防游戏 第六集 本集主要实现了游戏的关卡处理和金币系统。 关卡处理 绘制一个开始按钮放置在画面左上方。我们希望在游戏开始时,或者一波关卡结束之后可以点击这个按钮,生成新一个关卡的敌人。我们新建一个全局变量关卡。游戏开始时关卡默认为0,每次开启一个新的关卡让这个…

跑酷P5 收集物资

跑酷游戏 第五集 本集我们实现了搜集物资的功能。 移动和复制 首先我们复制一遍场景角色,然后清空造型。复制的原因是我们移动和显示部分的代码逻辑,物资和场景是一样的。 然后我们来重新绘制造型。这里我们可以用自己喜欢的造型,金币,水果,宝石等都可以。这里我按视频的做…

读DAMA数据管理知识体系指南25数据集成活动

读DAMA数据管理知识体系指南25数据集成活动1. 规划和分析 1.1. 数据集成和互操作涉及在什么时间、什么地点、以什么方式能获得数据 1.2. 定义数据集成和生命周期需求1.2.1. 定义数据集成需求涉及理解组织的业务目标,以及为实现这些目标而需要的数据和建议的技术方案1.2.2. 数据…

塔防P9/P10 激光炮台和游戏结束判定

塔防游戏 第九/十集 这两集我们完成了一个新炮台——激光炮台,以及敌人碰到地图边缘扣除生命值导致游戏结束的功能。 绘制炮台 在炮台角色中绘制炮台的图片并复制到图标一份,绘制炮台不可选中的图标和炮台的开火动画。我们设计激光炮台的开火前有短时间的蓄力过程,我们需要两…

AI模型页面可视化

这里使用 ollama-webui-lite 进行可视化。 项目地址:https://github.com/ollama-webui/ollama-webui-lite 将项目拉取到本地后,在命令行终端访问该项目, 1.先执行 npm ci 进行依赖的安装。 2.再执行 npm run dev 运行项目打开http://localhost:3000/即可进入可视化页面。 …

塔防P8 多炮台种类设置

塔防游戏 第八集 本集主要完成了新炮塔种类的添加,以及对多个炮台种类的设置。 造型绘制 首先绘制一个新炮台。我们要制作的是双管炮台,功能是在普通炮台的基础上一次瞄准可以攻击两次。我们绘制新的炮台图标,开炮动画和不可放置动画,图标再复制到商店的图标角色中一份。注…

20241917 2024-2025-2《网络攻防实践》第三次作业

1.知识点梳理与总结 1.1实验要求 (1)动手实践tcpdump 使用tcpdump开源软件对在本机上访问www.tianya.cn网站过程进行嗅探,回答问题:你在访问www.tianya.cn网站首页时,浏览器将访问多少个Web服务器?他们的IP地址都是什么? (2)动手实践Wireshark 使用Wireshark开源软件对…

NocoBase 本周更新汇总:优化表格区块的列和操作

本周更新包括:表格区块支持配置隐藏最左侧序号和选择列,支持在联动规则配置可选项字段选项等。原文链接:https://www.nocobase.com/cn/blog/weekly-updates-202503020 汇总一周产品更新日志,最新发布可以前往我们的博客查看。 NocoBase 目前更新包括的版本更新包括三个分支…

20242942 2024-2025-2 《网络攻防实践》实验二

一、实验内容 1.网络踩点 攻击者通过公开或半公开的渠道收集目标网络的基本信息。这一阶段的目标是尽可能多地了解目标网络的结构、范围和潜在漏洞,而不会直接与目标系统交互。目的是确定目标网络的IP地址范围;了解目标网络的域名和子域名以及获取目标组织的网络拓扑结构。  …

利用ACE开发时所遇到的问题

1、利用控制台程序开发ACE例程时无法解析的外部符号通过添加main函数的形参解决,如,main()修正为int main(int argc, char* argv[]) 2、关于ACE_SOCK_Dgram的recv方法能接收到数据,但是返回值是-1的问题(另一种现象是发送端发送小于特定长度的数据时,接收正常,当超出特定长…