【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

相关文章

SpringBoot项目使用MDC给日志增加唯一标识的实现步骤

《SpringBoot项目使用MDC给日志增加唯一标识的实现步骤》本文介绍了如何在SpringBoot项目中使用MDC(MappedDiagnosticContext)为日志增加唯一标识,以便于日... 目录【Java】SpringBoot项目使用MDC给日志增加唯一标识,方便日志追踪1.日志效果2.实现步

linux环境openssl、openssh升级流程

《linux环境openssl、openssh升级流程》该文章详细介绍了在Ubuntu22.04系统上升级OpenSSL和OpenSSH的方法,首先,升级OpenSSL的步骤包括下载最新版本、安装编译... 目录一.升级openssl1.官网下载最新版openssl2.安装编译环境3.下载后解压安装4.备份

怎么关闭Ubuntu无人值守升级? Ubuntu禁止自动更新的技巧

《怎么关闭Ubuntu无人值守升级?Ubuntu禁止自动更新的技巧》UbuntuLinux系统禁止自动更新的时候,提示“无人值守升级在关机期间,请不要关闭计算机进程”,该怎么解决这个问题?详细请看... 本教程教你如何处理无人值守的升级,即 Ubuntu linux 的自动系统更新。来源:https://

你的华为手机升级了吗? 鸿蒙NEXT多连推5.0.123版本变化颇多

《你的华为手机升级了吗?鸿蒙NEXT多连推5.0.123版本变化颇多》现在的手机系统更新可不仅仅是修修补补那么简单了,华为手机的鸿蒙系统最近可是动作频频,给用户们带来了不少惊喜... 为了让用户的使用体验变得很好,华为手机不仅发布了一系列给力的新机,还在操作系统方面进行了疯狂的发力。尤其是近期,不仅鸿蒙O

Python开发围棋游戏的实例代码(实现全部功能)

《Python开发围棋游戏的实例代码(实现全部功能)》围棋是一种古老而复杂的策略棋类游戏,起源于中国,已有超过2500年的历史,本文介绍了如何用Python开发一个简单的围棋游戏,实例代码涵盖了游戏的... 目录1. 围棋游戏概述1.1 游戏规则1.2 游戏设计思路2. 环境准备3. 创建棋盘3.1 棋盘类

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

科研绘图系列:R语言扩展物种堆积图(Extended Stacked Barplot)

介绍 R语言的扩展物种堆积图是一种数据可视化工具,它不仅展示了物种的堆积结果,还整合了不同样本分组之间的差异性分析结果。这种图形表示方法能够直观地比较不同物种在各个分组中的显著性差异,为研究者提供了一种有效的数据解读方式。 加载R包 knitr::opts_chunk$set(warning = F, message = F)library(tidyverse)library(phyl

【生成模型系列(初级)】嵌入(Embedding)方程——自然语言处理的数学灵魂【通俗理解】

【通俗理解】嵌入(Embedding)方程——自然语言处理的数学灵魂 关键词提炼 #嵌入方程 #自然语言处理 #词向量 #机器学习 #神经网络 #向量空间模型 #Siri #Google翻译 #AlexNet 第一节:嵌入方程的类比与核心概念【尽可能通俗】 嵌入方程可以被看作是自然语言处理中的“翻译机”,它将文本中的单词或短语转换成计算机能够理解的数学形式,即向量。 正如翻译机将一种语言

国产游戏崛起:技术革新与文化自信的双重推动

近年来,国产游戏行业发展迅猛,技术水平和作品质量均得到了显著提升。特别是以《黑神话:悟空》为代表的一系列优秀作品,成功打破了过去中国游戏市场以手游和网游为主的局限,向全球玩家展示了中国在单机游戏领域的实力与潜力。随着中国开发者在画面渲染、物理引擎、AI 技术和服务器架构等方面取得了显著进展,国产游戏正逐步赢得国际市场的认可。然而,面对全球游戏行业的激烈竞争,国产游戏技术依然面临诸多挑战,未来的

EMLOG程序单页友链和标签增加美化

单页友联效果图: 标签页面效果图: 源码介绍 EMLOG单页友情链接和TAG标签,友链单页文件代码main{width: 58%;是设置宽度 自己把设置成与您的网站宽度一样,如果自适应就填写100%,TAG文件不用修改 安装方法:把Links.php和tag.php上传到网站根目录即可,访问 域名/Links.php、域名/tag.php 所有模板适用,代码就不粘贴出来,已经打