『功能项目』战士的伤害型技能【45】

devtools/2024/11/13 9:12:56/

我们打开上一篇44战士职业平A怪物掉血的项目,

本章要做的事情是制作技能按钮,点鼠标点击时释放对范围内怪物的伤害技能

首先双击打开资源脚本下的Canvas预制体

制作技能栏

在资源商店中下载免费资源 - 技能图片

将技能图片拖拽至技能栏的Button按钮组件的Image上

对战士动画状态机增加一个 技能的动画 并创建参数Skill01Trigger

设直线

设置返回线

创建脚本:AttackCtrl.cs

using UnityEngine;
using UnityEngine.Events;
//提供机制不提供策略
public class AttackCtrl : MonoBehaviour{float hurtTime;float endTime;float nowTime;UnityAction hurtAction;UnityAction endAction;bool isAttacking = false;public void Init() {nowTime = 0;hurtAction = null;endAction = null;endTime = 0;hurtTime = 0;isAttacking = false;}public bool DoAttack(float hurtTime,float endTime,UnityAction hurtAction,UnityAction endAction) {if (isAttacking)return false;nowTime = 0;this.isAttacking = true;this.hurtTime = hurtTime;this.endTime = endTime;this.hurtAction = hurtAction;this.endAction = endAction;return true;}void Update() {if (isAttacking == false)return;nowTime += Time.deltaTime;if (nowTime >= hurtTime) {if (hurtAction != null) {//回调hurtAction();hurtAction = null;}}if (nowTime >= endTime) {if (endAction != null) {endAction();endAction = null;}this.isAttacking = false;}}
}

修改脚本:PlayerCtrl.cs

修改脚本:PlayerOpt.cs

保存脚本,接下来给怪物设置一个当血量小于等于0时触发的一个死亡动画以及销毁功能

修改脚本”BossCtrl.cs

修改脚本:Boss01UIInfo.cs

最后设置Boss01UI对象的血量同步脚本10000滴血

运行项目 - 战士职业主角点击一技能释放伤害型技能致使怪物血量中量减少

本章做了点击技能栏的1技能释放技能致使怪物血量减少以及怪物死亡后触发的死亡动画及销毁功能

接下来的内容:

1.战士职业的位移型技能

2.窗口可拖拽脚本

3.点击名称寻找地点功能

4.隐藏怪物的生成

5.怪物I攻击范围内的主动攻击

6.掉落坐骑蛋的获取

7.异步传送转换场景

以及开放回合制、坐骑系统、宠物系统、背包系统、神炼系统、商城系统、Boss的目标跟随任务导航系统以及UI播放3D动画效果等等。

具体项目运行效果请关注water1024的b站视频项目演示《破碎纪元》

【Unity回合2.5D】破碎纪元_单机游戏热门视频 (bilibili.com)icon-default.png?t=O83Ahttps://www.bilibili.com/video/BV1rZY4e9Ebs/?spm_id_from=333.999.0.0&vd_source=547091a95b03acfa8e8a9e46ef499cd6


http://www.ppmy.cn/devtools/112692.html

相关文章

深入理解Python中的魔法参数 *args 和 **kwargs

在Python编程中,函数的灵活性是其强大之处之一。其中,*args 和 **kwargs 是实现函数参数可变性的重要工具。 无论我们是Python初学者还是经验丰富的开发者,充分理解这两个概念都有助于编写更加灵活、高效的代码。 本文将深入探讨*args和**kw…

1、常用的数据库、表操作

基本的建表和数据库拷贝操作。 一、数据定义语言DDL show databases; # 查看全部数据库 show create database db; # 查看数据库db create database db; # 创建数据库db drop database db; # 删除数据库db use db; # 使用数据库db基本…

动态规划(算法)---03.斐波那契数列模型_最小花费爬楼梯

题目链接: 746. 使用最小花费爬楼梯 - 力扣(LeetCode)https://leetcode.cn/problems/min-cost-climbing-stairs/description/ 一、题目解析 题目: 解析: 题目说cost[i]为从某一个台阶向上爬的的费用,我们…

网络原理2-网络层与数据链路层

目录 网络层数据链路层 网络层 网络层做的工作: 1、地址管理–>IP地址 2、路由选择–>数据包传输的路径规划 网络层主要的协议就是IP协议 IP协议的报头结构: 4位版本: 有两个取值,4表示IPv4,6表示IPv6&am…

【Web】XGCTF 西瓜杯 超详细题解

目录 CodeInject tpdoor easy_polluted Ezzz_php CodeInject eval里打代码注入 11);system("tac /0*");// tpdoor 可以传参isCache给../../config/route.php写入$config[request_cache_key] 打的是CheckRequestCache中间件解析的漏洞 think\middleware\Ch…

八股文知识汇总(常考)

八股文知识汇总(常考) 语言特性相关 JAVA知识 - JDK动态代理为什么只能代理有接口的类? 说一下对象创建的过程?ThreadLocal是什么?他的实现原理是什么?ThreadLocal会出现内存泄露吗?String、…

C++:opencv生成结构元素用于膨胀腐蚀等cv::getStructuringElement

cv::getStructuringElement 是 OpenCV 库中用于生成结构元素的函数。结构元素在形态学操作中(如膨胀、腐蚀、开运算、闭运算等)扮演着关键角色。这个函数可以创建不同形状和尺寸的结构元素,以适应不同的图像处理需求。 函数原型 cv::Mat cv…

库卡机器人控制器用直流电源 MGV PH1013-2840 00-109-802

库卡机器人控制器说明 ‌库卡机器人控制器‌提供了丰富的功能和灵活的操作选项,确保在各种应用场景中都能达到最佳的性能和连接性。库卡机器人的控制器设计注重在最小空间内实现最高性能、最佳连接性和最大灵活性,能够完全整合到现有的自动化环境中。此外…