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

news/2025/3/20 9:46:26/文章来源:https://www.cnblogs.com/Anzio/p/18782402

塔防游戏 第九/十集

这两集我们完成了一个新炮台——激光炮台,以及敌人碰到地图边缘扣除生命值导致游戏结束的功能。

绘制炮台

在炮台角色中绘制炮台的图片并复制到图标一份,绘制炮台不可选中的图标和炮台的开火动画。我们设计激光炮台的开火前有短时间的蓄力过程,我们需要两张蓄力的外观。

在对应的描述界面也加上激光炮台的描述。

炮台购买和描述

接下来在商店中显示和购买激光炮台。在炮台图标的克隆中新增激光炮台,移动到指定的位置。

炮台射击

接下来编写激光炮台的射击流程。因为激光炮是蓄力伤害,我们需要另一个角色扮演炮台打出去的激光与敌人检测碰撞。因此我们首先要知道炮台开火时的位置和方向。新建三个列表激光X坐标激光Y坐标激光方向来存放激光起始的位置。
一次射击流程中,首先是蓄力动画,然后我们将激光发射的坐标加入队列,交给我们之后创建的激光角色作处理。

之后是对炮台瞄准受到装填时间影响没有平滑瞄准,这个我们在制作炮塔的时候就解决这个功能了。

激光的处理与敌人杀伤

接下来我们处理激光。由于可能有多个激光炮塔,所以我们用克隆体移动到激光发射位置实现激光发射。我们新建一个私有变量激光编号用来迭代生成激光,程序开始时设置成0,每次生成时+1。
克隆激光的操作我们用一个自建积木实现,重复执行直到激光编号和三个列表中项目数相等,每次克隆前先移动到相应的位置和方向,再克隆自己。

生成激光后,我们广播一次激光发射,让敌人收到激光发射的消息。然后给激光一个逐渐消除的动画,最后发射完成删除激光克隆体。后移操作是为了让激光不至于遮挡炮塔或者敌人之类的其他角色。

每次新关卡开始时,三个列表,激光编号都要初始化。
接下来当激光发射的时候,我们需要通知敌人。如果敌人没要逃跑并且碰到了激光,那么它们需要降低血量。

游戏结束功能

我们设置一个全局变量生命,存放我们一共能放过几个敌人到地图边界逃跑。这个变量在游戏开始时初始化为需要的值,在敌人碰到地图边缘后减少。

当生命值归零的时候,游戏就应该结束了。老师这里用了两个造型实现结束动画,偷懒做了个一个造型的简单的,但总体上思路都一样。

这里的等待时间是为了放置游戏开始时生命还没有初始化的时候被判断为游戏结束,所以稍等待一秒再开始监控生命值状态。

总结

第九集我们完成了新炮台激光炮台的实现,完成了范围打击敌人的效果。这次也用到了不同角色之间的联动,比如炮台开火生成激光角色,激光角色广播使敌人受到伤害。这次新增炮台轻松了很多,在我们之前实现双管炮台时留下的很多规则比如炮台瞄准都可以直接使用,更体现了编程前规划内容的重要性。
第十集我们完成了最后的功能生命值系统,给游戏增加了游戏结束的功能,至此塔防游戏也顺利结束了。在编写过程中学到了很多有用的新技巧,比如让敌人自动寻路,炮台的锁定和平滑跟踪,方向角和位置的计算,多个角色通过变量和广播进行联动操作等等。在之后编写射击,移动等逻辑时都可以套用塔防游戏中使用的方法。

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

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

相关文章

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的问题(另一种现象是发送端发送小于特定长度的数据时,接收正常,当超出特定长…

ASE10N40-ASEMI开关电源专用ASE10N40

ASE10N40-ASEMI开关电源专用ASE10N40编辑:LL ASE10N40-ASEMI开关电源专用ASE10N40 型号:ASE10N40 品牌:ASEMI 封装:TO-220 最大漏源电流:10A 漏源击穿电压:400V 批号:最新 RDS(ON)Max:0.55Ω 引脚数量:3 沟道类型:N沟道MOS管 封装尺寸:如图 特性:MOS管、N沟道MO…

文件安全传输网关,如何防止威胁入侵,助力企业文件安全传输?

金融企业包含大量客户个人信息,如身份信息、金融资产、交易记录等数据。这些数据一旦泄露或被滥用,将严重侵犯客户隐私,可能导致身份盗用、财产损失等问题。同时数据安全事件会严重损害金融企业的声誉和客户的信任度。因此,金融企业需要高度重视数据安全工作,建立完善的数…

通过Ollama如何本地部署DeepSeek R1

1.首先我们到Ollama官网去下载安装包,此处我们下载的是Windows版本的安装包,2、安装Ollama 双击安装会默认安装到C盘,不推荐这个, 可以用命令行安装,自定义安装目录 以管理员身份运行CMD,并定位到OllamaSetup.exe所在的目录(假设OllamaSetup.exe在D:\Temp目录下),然后…

JOKER可视化开发工具迎来重大更新

JOKER可视化开发工具迎来重大更新,共更新和修复了12项问题,并完成了前后端项目的数据关联!为紧跟行业前沿趋势,满足开发者日益增长的需求,我们于2025年3月13日对平台开展了全方位升级。此次更新聚焦前端交互的便捷性、服务端功能的强大性以及通用操作的流畅性,在多方面进…