塔防P8 多炮台种类设置

news/2025/3/20 9:44:24/文章来源:https://www.cnblogs.com/Anzio/p/18782400

塔防游戏 第八集

本集主要完成了新炮塔种类的添加,以及对多个炮台种类的设置。

造型绘制

首先绘制一个新炮台。我们要制作的是双管炮台,功能是在普通炮台的基础上一次瞄准可以攻击两次。我们绘制新的炮台图标,开炮动画和不可放置动画,图标再复制到商店的图标角色中一份。注意我们的开炮动画需要两个,两个炮管分别开火。注意造型的名字要统一改好,之后修改造型的时候要求造型名和列表中的名称一样。

商店图标处理

我们怎么让商店的图标显示两个?新建一个私有变量炮台图标编号,在初始化时给克隆体赋值,表示每个克隆体所代表的炮台图标。一开始的本体设置为0,然后克隆两次,每次克隆自己前值+1。

在克隆后对编号进行判断,换成对应的造型和移动到对应的位置。测试时如果发现本体还在显示,就把本体设置为隐藏。

关于我们的广播,也只想让克隆体对广播消息进行反应,而本体对广播消息不作出反应。但是广播消息是全体对象都能收到的,这里我们就需要创建一个私有变量是否是本体来判断收到广播的对象是克隆体还是本体。在创建对象时初始化为no,创建对象后为本体赋值为yes,就可以在广播消息发出后加一个对是否是本体值的判断,区别本体和克隆体。
为什么不用克隆体编号判断?因为在复制克隆体的时候,本体的编号也是随着克隆而增加的,最后本体的编号并不是想象中的0而是编号的最大值。

新炮台造型切换

现在我们只为新炮台作出了商店的位置,但是购买的炮台还是普通炮台,接下来我们来完成新炮台的攻击方式,购买价格等数据。我们建立一个全局变量当前购买炮台来存放当前选择的炮台类型。为了完成设置,我们新建一个列表炮台类型存放所有的炮台种类名称。列表需要在游戏开始时初始化删除所有项,在克隆炮台图标时添加进列表。

我们需要对于每个炮台存放它们自己的类型。新建一个私有变量炮台类型存放每个炮台被放置时的类型。炮台在被克隆时可以通过读取变量中的名称得知自己的类型,从而更换造型,攻击动画等属性。

炮台攻击逻辑和动画

测试我们发现,炮台放下后变成了我们需要的类型造型,但是在开火后还是变成了基础炮台。我们来做一下对新炮台攻击模式和动画的编写。
把原本射击部分的代码变成自建积木,在积木中区分普通和双管炮台。如果炮台类型时普通,那就和原来一样就可以了。如果炮塔类型是双管,我们让他在正常的第一次开火后再进行一次开火操作。最后修改完后记得在需要射击时调用自建积木。

炮台描述

接下来我们制作和显示新炮台的炮台描述。当我们鼠标移动到相应的炮台图标时,我们通过修改变量来通知描述角色显示对应的描述。

我们新建列表:

  • 炮台描述显示存放编号对应的炮台描述是否显示。
  • 炮台价格存放每个炮台价格。
  • 炮台类型存放每个编号的炮台的类别。

每次开始游戏需要初始化列表为空。在每次图标克隆时,将相应的值添加到列表中。

对于炮台描述显示,在初始化时赋值为隐藏,当鼠标移动到相应的图标上面,将炮台描述显示对应的项修改为显示,否则设定为隐藏。

在描述中的代码,我们让列表中第一个值为显示的编号的炮塔类型显示其对应的描述。

上方遗留了一个问题,就是在双管炮塔布置的时候,在无法布置的区域切换的还是基础炮台的无法部署图片。这里新增双管炮台无法部署的造型,在代码里调整需要显示的造型。这里用了一个字符串链接积木,将造型的名字提前改成“炮台名称+不能放置“,就可以通过拼接找到造型。

炮台价格修改

此时购买的炮台价格依然和普通炮台一样,我们刚才已经创建了炮台价格列表并存放了对应的值,在购买时通过购买的炮塔类型来扣除金币即可。

总结

本集课程我们在之前代码的基础上完成了一个新炮塔的制作,包括攻击,购买,描述显示等。在设计中我们需要考虑到这种同类别不同属性角色的需求,预留出日后升级和修改的空间。

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

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

相关文章

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日对平台开展了全方位升级。此次更新聚焦前端交互的便捷性、服务端功能的强大性以及通用操作的流畅性,在多方面进…

数字华容道 | 数学益智游戏③

依托国产的 AI 豆包完成的网页端的数字华容道益智游戏。前情概要 使用 AI 辅助设计了三款数学益智游戏,这是第三款数字华容道游戏。 数字华容道body1{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background-color:#f4f4f9;display:flex;justify-content:center;a…

Windows11安装wsl2(适用于 Linux 的 Windows 子系统)

在Windows11系统运行Docker desktop需要安装wsl2,此博客为Windows11安装wsl2(适用于 Linux 的 Windows 子系统)的教程需求:在Windows11系统运行Docker desktop需要安装wsl2 方法一:离线安装(推荐) 进入网址:https://github.com/microsoft/WSL/releases ,下载wsl.2.4.12.…