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

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

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

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

制作技能栏

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

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

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

设直线

设置返回线

创建脚本:AttackCtrl.cs

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)https://www.bilibili.com/video/BV1rZY4e9Ebs/?spm_id_from=333.999.0.0&vd_source=547091a95b03acfa8e8a9e46ef499cd6

相关推荐
暴走约伯10 小时前
【VFX工具链源码拆解 09】终极工业化闭环:基于 ID 规则驱动的全自动场景建档、骨骼挂载与男转女场景迁移
unity·c#·游戏引擎·材质
用户788477316341 天前
WinForms 迁移 WPF:Upgrade Assistant 覆盖 30%,剩下 70% 我手写了六周
c#
寂寞的船1 天前
【Unity知识速递】第13期 Unity 内存泄漏排查实战:从 Memory Profiler 到 Lua 引用泄漏的生产级全链路诊断
unity·junit·c#·游戏引擎·lua
用户3721574261352 天前
C# 提取 PDF 附件:包括文档附件和页面注释附件
c#
寂寞的船2 天前
【Unity Bug挑战】第12期 Awaitable 二次 await 死锁之谜 —— 为什么同一个异步操作等两次就卡死?
unity·c#·游戏引擎·bug
huaqianzkh4 天前
WinForm C#:循环修改控件UI闪烁卡顿?SuspendLayout / ResumeLayout 与 BeginUpdate 优化
开发语言·ui·c#
用户3721574261354 天前
C# 实现 Excel 单元格保护:锁定公式并允许编辑指定区域
c#·ai编程·编程语言
公子小六5 天前
基于.NET的Windows窗体编程之WinForms数据持久化(1)
windows·microsoft·c#·.net·winforms
三雷科技5 天前
第6章第4节:自定义分词器
开发语言·c#
zhanghaha13145 天前
C# 系列教程_12 字符串 string 保姆级系统教程(面向新手,大量示例 + 原理讲解)
开发语言·数据库·c#