【UE4 塔防游戏系列】09-防御塔升级、击杀敌人增加金钱

2023-12-18 16:40

本文主要是介绍【UE4 塔防游戏系列】09-防御塔升级、击杀敌人增加金钱,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

效果 

步骤

一、控件蓝图文本控件内容绑定金钱数 

二、防御塔改造

三、击杀敌人增加金钱 

四、防御塔升级功能


效果 

步骤

一、控件蓝图文本控件内容绑定金钱数 

1. 打开“TaFangGameMode”,新增一个变量命名为“PlayerMoney”,默认值设为20,用于表示玩家的金钱数。金钱可以用来升级建筑。

2. 在“WBP_Player”新添加图像和文本控件

对文本控件创建一个绑定函数

绑定函数内容节点如下,将游戏模式中存储的玩家金额数与本文控件进行绑定。

 二、防御塔改造

1. 打开Ps,新建一个500x500像素的画布

先隐藏图层0

将前景色和背景色都设置为白色

 选择渐变工具

 选择“前景色到透明渐变”,然后点击确定

 选择中心渐变

 创建一个新图层

 从中心向边缘拉出一个白色渐变的圆

 用椭圆选框工具选择中心的一块圆形区域

 删除

然后导出该光环图

 再将其导入到虚幻编辑器中,

 

 2. 新建一个材质,命名为“M_Corona”

打开“M_Corona”,混合模式设置为半透明

 将纹理附加到材质上

可以对该材质创建一个材质实例

可以在材质实例中修改Color参数

3. 打开“BP_TowerBase”,添加一个平面

 设置平面材质为我们刚创建的那个光环材质实例

设置骨架网格体不可视

 4. 在视口中将所有可以设置炮塔的地方都放置上“BP_TowerBase”

5. 回到“BP_TowerBase”,添加一个整形变量,命名为“Grade”,用于表示炮塔的等级,默认为0级

 在炮塔旋转前对炮塔的当前等级进行判断

三、击杀敌人增加金钱 

打开“TotalEnemyCategory”(敌人总类),新建一个浮点型变量,命名为 “EnemyValue”,表示敌人自身价值(敌人死亡后可以为玩家增加多少金钱),默认值设置为1。

当敌人死亡时增加“TaFangGameMode”中的“PlayerMoney”变量

四、防御塔升级功能

1. 我们希望点击防御塔区域弹出一个选项框,上面提示玩家当前是选择升级防御塔还是出售防御塔

因此我们先创建这样一个控件蓝图,命名为“WBP_TowerMenu”

打开“WBP_TowerMenu”,选择自定义

 设置高度为200

 添加如下控件

 在图表中添加一个整形变量,命名为“TowerGrade”,表示当前防御塔的等级

 设置为可编辑实例,生成时公开

 对升级按钮的文本内容创建一个绑定事件

 绑定函数逻辑如下:

 同样的,对出售按钮的文本内容创建一个绑定事件

当防御塔升级到最大等级时应该不能再继续升级了,因此对升级按钮的可视性创建一个绑定

 在图表中再添加一个变量,命名为“TowerActor”

变量类型为“BP_TowerBase”的对象引用,设置为可编辑实例和生成时公开

 

 2. 打开“BP_TowerBase”

 创建两个自定义事件,分别表示防御塔升级事件、防御塔卖出事件

3. 回到控件蓝图“WBP_TowerMenu”,添加升级和出售按钮的点击事件

 4. 回到“BP_TowerBase”,当防御塔被点击时:

 防御塔升级:(这里只修改防御塔模型和光圈的颜色,下一篇文章会具体调整防御塔的伤害、攻击范围、子弹速度等。)

 防御塔出售:

这篇关于【UE4 塔防游戏系列】09-防御塔升级、击杀敌人增加金钱的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/509107

相关文章

Debian 13升级后网络转发等功能异常怎么办? 并非错误而是管理机制变更

《Debian13升级后网络转发等功能异常怎么办?并非错误而是管理机制变更》很多朋友反馈,更新到Debian13后网络转发等功能异常,这并非BUG而是Debian13Trixie调整... 日前 Debian 13 Trixie 发布后已经有众多网友升级到新版本,只不过升级后发现某些功能存在异常,例如网络转

Ubuntu如何升级Python版本

《Ubuntu如何升级Python版本》Ubuntu22.04Docker中,安装Python3.11后,使用update-alternatives设置为默认版本,最后用python3-V验证... 目China编程录问题描述前提环境解决方法总结问题描述Ubuntu22.04系统自带python3.10,想升级

解决升级JDK报错:module java.base does not“opens java.lang.reflect“to unnamed module问题

《解决升级JDK报错:modulejava.basedoesnot“opensjava.lang.reflect“tounnamedmodule问题》SpringBoot启动错误源于Jav... 目录问题描述原因分析解决方案总结问题描述启动sprintboot时报以下错误原因分析编程异js常是由Ja

Linux升级或者切换python版本实现方式

《Linux升级或者切换python版本实现方式》本文介绍在Ubuntu/Debian系统升级Python至3.11或更高版本的方法,通过查看版本列表并选择新版本进行全局修改,需注意自动与手动模式的选... 目录升级系统python版本 (适用于全局修改)对于Ubuntu/Debian系统安装后,验证Pyt

MySQL 升级到8.4版本的完整流程及操作方法

《MySQL升级到8.4版本的完整流程及操作方法》本文详细说明了MySQL升级至8.4的完整流程,涵盖升级前准备(备份、兼容性检查)、支持路径(原地、逻辑导出、复制)、关键变更(空间索引、保留关键字... 目录一、升级前准备 (3.1 Before You Begin)二、升级路径 (3.2 Upgrade

Nginx进行平滑升级的实战指南(不中断服务版本更新)

《Nginx进行平滑升级的实战指南(不中断服务版本更新)》Nginx的平滑升级(也称为热升级)是一种在不停止服务的情况下更新Nginx版本或添加模块的方法,这种升级方式确保了服务的高可用性,避免了因升... 目录一.下载并编译新版Nginx1.下载解压2.编译二.替换可执行文件,并平滑升级1.替换可执行文件

Python38个游戏开发库整理汇总

《Python38个游戏开发库整理汇总》文章介绍了多种Python游戏开发库,涵盖2D/3D游戏开发、多人游戏框架及视觉小说引擎,适合不同需求的开发者入门,强调跨平台支持与易用性,并鼓励读者交流反馈以... 目录PyGameCocos2dPySoyPyOgrepygletPanda3DBlenderFife

游戏闪退弹窗提示找不到storm.dll文件怎么办? Stormdll文件损坏修复技巧

《游戏闪退弹窗提示找不到storm.dll文件怎么办?Stormdll文件损坏修复技巧》DLL文件丢失或损坏会导致软件无法正常运行,例如我们在电脑上运行软件或游戏时会得到以下提示:storm.dll... 很多玩家在打开游戏时,突然弹出“找不到storm.dll文件”的提示框,随后游戏直接闪退,这通常是由于

升级至三频BE12000! 华硕ROG魔盒Pro路由器首发拆解评测

《升级至三频BE12000!华硕ROG魔盒Pro路由器首发拆解评测》华硕前两天推出新一代电竞无线路由器——ROG魔盒Pro(StrixGR7Pro),该产品在无线规格、硬件配置及功能设计上实现全... 作为路由器行业的T1梯队厂商,华硕近期发布了新旗舰华硕ROG魔盒Pro,除了保留DIY属性以外,高达120

Python包管理工具pip的升级指南

《Python包管理工具pip的升级指南》本文全面探讨Python包管理工具pip的升级策略,从基础升级方法到高级技巧,涵盖不同操作系统环境下的最佳实践,我们将深入分析pip的工作原理,介绍多种升级方... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核