【sunny land】利用Animation编辑器实现近战敌人判定

news2024/11/29 10:56:29

昨晚研究了一晚Boss近战判定,也找了一些方法,但始终找不到合适的

今天终于让我找到了[泪目]

让我们先看演示

这个效果是我们的Boss挥刀时不造成伤害,当火焰冒出来时再对主角造成伤害。

这个我讲详细点吧

步骤:

首先,我们创建两个空对象

左伤害和右伤害,当主角在攻击范围内时进行攻击,

然后我们挂载伤害脚本和点碰撞体

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class MeleeAttack : MonoBehaviour
{
    // Start is called before the first frame update
    public float hurt;
    void Start()
    {
        
    }

    // Update is called once per frame
    void Update()
    {
        
    }
    private void OnTriggerEnter2D(Collider2D other)
    {
        foxcontroller fox = other.gameObject.GetComponent<foxcontroller>();
        Rigidbody2D rb = other.gameObject.GetComponent<Rigidbody2D>();
        if (fox != null){
            Vector2 Force = new Vector2(transform.position.x - rb.position.x, 0);
            fox.ChangeHealth(-2);//近战攻击扣两滴血,要是难度太高再削
            rb.AddForce(-Force * hurt);//这里是击退效果,其实可以不加负号,我前面写反了这里图方便加了个负号
        }
    }
}

 对主角造成伤害并击退

然后是动画控制

目前是三个,但是我还在做,后面还有其他的状态


    public GameObject LeftAttack;
    public GameObject RightAttack;

    public float MeleeAttackRadial;

    private bool Attacking;
    public  bool canAttack = true;
    public float canAttackingTime = 4f;
    public float Timerr;
    void Start()
    {
        Timer = changeTime;
        animator = GetComponent<Animator>();
        Timerr = canAttackingTime;
    }

    // Update is called once per frame
    void Update()
    {
        Attack();
        runNormal();
        if (Timerr > 0)
        {
            Timerr -= Time.deltaTime;
            canAttack = false;
        }
        else canAttack = true;
    }

private void Attack()
    {
        if (fox.transform.position.x - transform.position.x > 9 || fox.transform.position.x - transform.position.x < -9)
        {
            LeftAttack.SetActive(false);
            RightAttack.SetActive(false);
        }
        if (!canAttack)
        {
            Attacking = false;
            animator.SetBool("Attacking", false);
            return;
        }
        if (fox.transform.position.x - transform.position.x < 9 && fox.transform.position.x - transform.position.x > 0&&direction == 1)
        {
            Timerr = canAttackingTime;
            Attacking = true;
            //RightAttack.SetActive(true);
            animator.SetFloat("look", fox.transform.position.x - transform.position.x);
            animator.SetBool("Attacking", true);
        }
        else if (fox.transform.position.x - transform.position.x > -9 && fox.transform.position.x - transform.position.x < 0&&direction == -1)
        {
            Timerr = canAttackingTime;
            Attacking = true;
            //LeftAttack.SetActive(true);
            animator.SetFloat("look", fox.transform.position.x - transform.position.x);
            animator.SetBool("Attacking", true);
        }
        else
        {
            Attacking = false;
            LeftAttack.SetActive(false);
            RightAttack.SetActive(false);
            animator.SetBool("Attacking", false);
        }
    }

攻击代码,当Boss攻击冷却好并且主角处于攻击范围内并面朝主角时,开始攻击主角,脚本里我只播放攻击动画,判定我在Animation工具里解决

 这里我点击Add Property,添加事件,在播放动画时,在冒火的帧上将前面我们设置的空对象设置成true,也就是leftAttack.SetActive(true);

这样我们就能够在特定的帧上面对主角进行伤害了,Boss控制脚本我们就播放动画,伤害在Animation里解决

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

矿井水行业氟超标的解决方法

高矿化度的废水是指含有高浓度溶解性矿物质的废水&#xff0c;通常指的是含有高浓度钠、钙、镁、铁、铝、钾等离子的废水。这些离子通常来自于废水所处的环境、工业或生产过程中使用的原材料和化学品。高矿化度的废水通常具有高盐度、高电导率、高硬度等特征&#xff0c;对环境…

三星弃Google用Bing?谷歌赶工新AI搜索Magi

“三星考虑将手机端的默认搜索引擎由Google换成Bing”&#xff0c;《纽约时报》上的这则消息披露次日&#xff0c;微软股价上涨2%&#xff0c;谷歌母公司Alphabet股价下跌3%。 过去20年里&#xff0c;谷歌一直是在线搜索领域无人能敌的霸主&#xff0c;微软旗下的Bing只在3%-5…

录屏文件太大怎么办?您可以这样做!

案例&#xff1a;录制的录屏文件体积比较大怎么办&#xff1f; 【我发现我录制的电脑录屏文件体积比较大&#xff0c;不好保存&#xff0c;会占用电脑的内存。我想知道怎样才可以录制体积较小的录屏&#xff1f;有没有小伙伴有解决的办法&#xff1f;】 录屏是我们经常需要用…

ATTCK v12版本战术介绍——防御规避(四)

一、引言 在前几期文章中我们介绍了ATT&CK中侦察、资源开发、初始访问、执行、持久化、提权战术理论知识及实战研究、部分防御规避战术&#xff0c;本期我们为大家介绍ATT&CK 14项战术中防御规避战术第19-24种子技术&#xff0c;后续会介绍防御规避其他子技术&#xf…

IO流复习

IO流 程序到文件&#xff0c;文件到程序分为输出流和输入流流分为字节流&#xff0c;字符流 字节流可以操作所有类型文件&#xff0c;字符流只能操作文本文件&#xff08;可以用windows记事本打开并且能正常读懂的文件&#xff09; 流的结构图&#xff1a;只有下面接口的实现…

如何利用Trimble RealWorks三维激光扫描仪进行外业测量和内业处理?

文章目录 0.引言1.Trimble RealWorks介绍2.外业测量3.内业处理 0.引言 笔者所在资源与环境工程学院实验室采购有一台Trimble RealWorks三维激光扫描仪&#xff08;仪器名&#xff1a;Trimble TX8&#xff09;&#xff0c;因项目需要&#xff0c;在学校实验场地进行实地测量训练…

MIT教授Tegmark:GPT-4敲响警钟,百年后人类何去何从丨智源大会嘉宾风采

导读 一封呼吁暂停大模型研究6个月的公开信让一家名为未来生命研究所&#xff08;Future of Life Institute 简称&#xff1a;FLI&#xff09;站上了风口浪尖。这家研究所的联合创始人Max Tegmark是来自麻省理工学院的物理学家和人工智能研究员&#xff0c;《生命3.0在人工智能…

Unity TextMeshPro文本描边outline存在黑底问题研究

在使用TextMeshPro的时候遇到了字体黑底的问题&#xff0c;类似下图这样 当字体较大的时候表现正常&#xff0c;当缩小到一定程度就会出现黑底。这个情况让人第一时间就是怀疑SDF计算缩放的时候存在问题。在我们重新导出字体&#xff0c;调整图集字体大小以及Padding后&#xf…

【深度学习】点云PointNet从0到1

文章目录 前言1 PointNet1.1 点云的数据集1.2 点云的挑战1.1 网络结构 前言 直接处理点云数据的深度学习技术PointNet End To end Learning for scattered&#xff0c; unordered point data Unified franework for various tasks Point-Based Methods 分为 PointNet 和 Poin…

万字长文 - Nature 综述系列 - 给生物学家的机器学习指南 1

生物数据的规模不断扩大和固有复杂性促使越来越多的人在生物学中使用机器学习来构建相关生物过程的信息和预测模型。所有机器学习技术都是把数据拟合到模型&#xff0c;然而&#xff0c;具体方法千差万别&#xff0c;乍一看似乎令人困惑。在这篇综述中&#xff0c;我们旨在向读…

好用免费,国内手机人人都能玩的GPT!

用了这个长时间的chatgpt真的是觉得离不开它&#xff0c;太好用的&#xff01;又是是写作&#xff0c;编程&#xff0c;日常的一些咨询搜索的事情全部交给它了&#xff01;但是很少有人在手机上能玩GPT! 对于大多数普通选手来说&#xff0c;想在手机上玩GPT&#xff0c;始终离不…

王一茗: “大数据能力提升项目”与我的成长之路 | 提升之路系列(三)

导读 为了发挥清华大学多学科优势&#xff0c;搭建跨学科交叉融合平台&#xff0c;创新跨学科交叉培养模式&#xff0c;培养具有大数据思维和应用创新的“π”型人才&#xff0c;由清华大学研究生院、清华大学大数据研究中心及相关院系共同设计组织的“清华大学大数据能力提升项…

8种不同类型的防火墙

什么是防火墙&#xff1f; 防火墙是一种监视网络流量并检测潜在威胁的安全设备或程序&#xff0c;作为一道保护屏障&#xff0c;它只允许非威胁性流量进入&#xff0c;阻止危险流量进入。 防火墙是client-server模型中网络安全的基础之一&#xff0c;但它们容易受到以下方面的…

R语言 | 处理矩阵与更高维数据

目录 一、矩阵 1.1 建立矩阵 ​1.2 认识矩阵的属性 1.3 将向量组成矩阵 二、取得矩阵元素的值 2.1 矩阵元素的取得 2.2 使用负索引取得矩阵元素 三、修改矩阵的元素值 四、降低矩阵的维度 五、矩阵的行名和列名 5.1 取得和修改矩阵对象的行名和列名 5.2 dimnames()函数…

【MySQL自学之路】第4天——模式、表、视图、索引(数据定义详细版)

目录 前言 数据库 数据库的建立 数据库的使用 数据库的查看 数据库的删除 模式 查看所有的模式 模式和数据库之间的关系 ​编辑建立模式 删除模式 表 数据类型 查看一个数据库下面的所有表(必须进入要查看的数据库) 创建基本表 查看表结构&#xff08;查看表建…

EU GMP附录一与关键区域空气微生物取样方案及相关法规标准解读

2022版EU GMP附录一与关键区域空气微生物取样方案疑问解答 3月30日2022版EU GMP附录一与关键区域空气微生物取样方案网络研讨会期间&#xff0c;我们收集到了部分参会听众针对该主题所提出的常见问题。根据以下这些问题&#xff0c;lighthouse微生物应用专家将来为您答疑解惑。…

多功能自动化智能运维平台,提升集群的全自动运维效率

一、开源项目简介 致力于打造一个集主机管理、配置部署、监控报警、异常诊断、安全审计等一系列功能的自动化运维平台。 探索创新的sysAK、ossre诊断工具及高效的LCC&#xff08;Libbpf Compiler Collection&#xff09;开发编译平台和netinfo网络抖动问题监控系统等&#xff…

放射学中的自然语言处理技术综述

放射学中的自然语言处理技术综述 写在最前面预览CLINICAL APPLICATIONS Automatic Protocoling 临床应用程序自动协议Extraction of Language Features, Patient Cohorting, and Coded Ontology from Charts 从图表中提取语言特征、患者队列和编码本体Medical Imaging Appropri…

vulnhub靶场之bluemoon

1.信息收集 存活主机进行探测&#xff0c;发现主机192.168.239.176存活。 对主机192.168.239.176进行端口扫描&#xff0c;发现21、22、80端口 访问http://192.168.239.176&#xff0c;并查看源码未发现可利用的行为。 进行目录扫描发现可疑路径/hidden_text 浏览器访问h…

Python的经典结构算法

学会了 Python 基础知识&#xff0c;想进阶一下&#xff0c;那就来点算法吧&#xff01;毕竟编程语言只是工具&#xff0c;结构算法才是灵魂。 那新手如何入门 Python 算法呢&#xff1f; 几位印度小哥在 GitHub 上建了一个各种 Python 算法的新手入门大全。从原理到代码&…