【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”,当防御塔被点击时:

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

 防御塔出售:

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Maven三】——maven生命周期和插件

系列文章目录 Maven之POM介绍 maven命令上传jar包到nexus 【Maven二】——maven仓库 maven生命周期和插件 系列文章目录前言一、什么是生命周期&why1.三套生命周期2.clean生命周期3.default生命周期4.site生命周期5.命令行与生命周期 二、插件目标三、插件绑定1.内置绑定2…

软通动力与华秋达成生态共创合作,共同推动物联网硬件创新

7月11日,在2023慕尼黑上海电子展现场,软通动力信息技术(集团)股份有限公司(以下简称“软通动力”)与深圳华秋电子有限公司(以下简称“华秋”)签署了生态共创战略合作协议,共同推动物联网硬件生态繁荣发展。当前双方主要基于软通动力的产品及解…

GO语言GMP模型

目录 程序入口 协程主动让出: 被动让出: schedule 监控线程 程序入口 在执行一系列检查和初始化(创建多少个P,与M0关联)后,进入runtime.main,创建main goroutine,执行mian.mian。 一开始GO语言的调度只有M和G。每个M…

基于Selenium+Python的web自动化测试框架

一、什么是Selenium? Selenium是一个基于浏览器的自动化测试工具,它提供了一种跨平台、跨浏览器的端到端的web自动化解决方案。Selenium主要包括三部分:Selenium IDE、Selenium WebDriver 和Selenium Grid。 Selenium IDE:Firef…

Linux下Nginx升级

nginx版本升级不会覆盖配置文件,但以防万一升级前请先备份配置文件或者配置文件夹 默认配置文件地址:/usr/local/nginx/conf/nginx.conf 1.下载 wget -c http://nginx.org/download/nginx-1.24.0.tar.gz 2.解压 tar -xvf nginx-1.24.0.tar.gz 3.nginx…

Mac的docker安装redis

Mac的docker安装redis 1、docker search redis NAME DESCRIPTION STARS OFFICIAL AUTOMATED redis Redis is an open source key-value store that… 12205 …

git如何撤销commit(未push)

文章目录 前言undo commitreset current branch to here Undo Commit,Revert Commit,Drop Commit的区别 是否删除对代码的修改是否删除Commit记录是否会新增Commit记录Undo Commit不会未Push会,已Push不会不会Revert Commit会不会会Drop Com…

PHP与Golang对战:两种语言的比较与应用场景探讨

引言 在软件开发领域,选择一种合适的编程语言对于项目的成功至关重要。而在今天的文中,我们将探讨两个备受争议的编程语言——PHP与Golang之间的对战。通过比较它们的优势和应用场景,帮助开发者更好地了解如何选择适合自己项目的语言。 PHP的…

青翼科技自主研发4路AD子卡FMC137

FMC137是一款基于VITA57.4标准规范的JESD204B接口FMC子卡模块,该模块可以实现4路14-bit、2GSPS/2.6GSPS/3GSPS ADC采集功能。该板卡ADC器件采用ADI公司的AD9208芯片,,与ADI公司的AD9689可以实现PIN脚兼容。该ADC与FPGA的主机接口通过16通道的…

verilog实现数码管静态显示

文章目录 verilog实现数码管静态显示一、任务要求二、实验代码三、仿真代码四、仿真结果五、总结 verilog实现数码管静态显示 一、任务要求 六个数码管同时间隔0.5s显示0-f。要求:使用一个顶层模块,调用计时器模块和数码管静态显示模块。 二、实验代码…

分布式数据库HBase,它到底是怎么组成的?

原文链接:http://www.ibearzmblog.com/#/technology/info?id8ac4902f82f525e1456624d5d7a545dc 前言 大数据的核心问题无非就是存储和计算这两个。Hadoop中的HDFS解决了数据存储的问题,而HBase就是在HDFS上构建,因此Hbase既能解决大数据存…

echarts实现渐变折线图并添加点击事件

折线图点击事件代码: let myChart = this.$echarts.init(document.getElementById(trendBoxECharts))myChart.getZr().on(click, params => {console.log(params)let pointInPixel = [params.offsetX, params.offsetY]if (myChart.containPixel(grid, pointInPixel)) {//点…

基于FME二开产品:NewGIS integration介绍

目录 前言 一、模板上传 二、模板在线运行 1.模板参数解析 2.模板运行 三、成果管理 总结 前言 爆肝两个月,我和我的团队终于打造出了一款能完美适配所有FME模板的在线模板管理平台,目前支持FME2021版本的所有模板的在线运行、管理。整体技术框架…

hibernate入门,springboot整合hibernate

Mybatis和Hibernate是我们常用的两大ORM框架,这篇文章主要介绍hibernate的使用,如何通过springboot整合hibernate,实现简单的crud功能。 添加依赖 首先,需要创建一个springboot项目,这里就取名为hibernate。项目创建完…

Stable Diffusion 丝滑无闪烁AI动画 Temporalkit+Ebsynth+Controlnet

早期的EbSynth制作的AI视频闪烁能闪瞎人的双眼,可以通过【temporalkit+ebsynth+controlnet】让视频变得丝滑不闪烁。 文章目录 插件准备丝滑视频制作插件准备 下载安装 EbSynth官网,这里需要输入email地址。 下载压缩包解压缩到任意位置,这里我放到了ebsynth_utility下。 …

.Net5 mvc项目UseBrowserLink插件功能失效的原因

前期基于.Net Framework创建的Web项目,使用了BrowserLink插件协助前端开发,功能一直都比较稳定,后来项目迁到.Net5 ,发现BrowserLink 已经失去了从浏览器定位到项目源代码的功能,希望在后面的版本还能继续支持此版本&a…

layui的基本使用-Helloworld 三把斧的一把斧头的熟练起来

该笔记记录如何使用layui的模块化方法。 访问layui官网 Layui - 极简模块化前端 UI 组件库下载官网的layui压缩包文件,解压到本地文件夹,文件结构如下: vscode创建项目; 位置 测试写了三个文件夹,才测试出来bug 坑所在…

【JavaScript 03】语句 变量 变量提升 标识符 注释 区块 作用域 条件语句 循环语句 break continue 标签

JS 语句变量变量提升标识符注释区块条件语句ifif...elseswitch三元运算符 ?: 循环语句whilefordo...whilebreak语句 and continue语句标签 语句 JS程序的执行单位是行(line) **语句(statement)**是为了完成特定任务而进行的操作…

后端查询出的数据库数字自动补零和不补零

select CAST(YTD_CHANGE*100 as decimal(18,1)), round(YTD_CHANGE*100,1) from RP where data_date 20211231补零 round(PYTD_CHANGE_PER*100,1)不补零 CAST(PYTD_CHANGE_PER*100 as decimal(18,1))

基于ZYNQ阵列涡流检测系统硬件设计(一)

为实现阵列涡流检测系统总体功能,需研制一套多通道信号采集硬件系统,以搭配 软件编程实现分时激励和分时采集。基于以上要求,本章介绍了阵列涡流检测系统的硬 件模块设计。 3.1 阵列涡流检测系统总体设计 阵列涡流检测系统需要利用 DA …
最新文章