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

news/2024/11/26 7:20:37/

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

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

让我们先看演示

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

这个我讲详细点吧

步骤:

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

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

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

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class MeleeAttack : MonoBehaviour
{// Start is called before the first frame updatepublic float hurt;void Start(){}// Update is called once per framevoid 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 framevoid 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.ppmy.cn/news/55870.html

相关文章

GPT3.5 API使用之配置env环境

文章目录 前言一、注册GPT API二、把openai.api_key导入系统环境变量1.安装库2.api key 导入环境变量3.查看是否导入key成功 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; 为了更好的在python使用gpt3.5&#xff0c;以下快速介绍一下如何使用gpt3.5AP…

Flannel下对容器端口访问的结果

环境如下 rootubuntu:/home/test/Downloads# kubectl get pod -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES nginx11-86697f68dd-sdj6h 2/2 Running 0 …

计算机网络面试八股文攻略(三)—— HTTP协议

一、基础信息 1.1 基本概念 Http 是一种基于明文的超文本传输协议。 而HTTPS协议是在HTTP协议上传输数据时加入了加密机制。 下面&#xff0c;将根据 HTTP 协议的联通到结束的流程进行讲解。 二、 用户身份的识别 通过 Cookie &#xff0c;Session 或 Token 实现。 2.1 C…

如何在比特币系统内创造人工生命

信息来源&#xff1a;coingeek.com 自2015年以来&#xff0c;关于比特币能否进行复杂计算以及比特币是否“图灵完备”的争论一直在持续。不幸的是&#xff0c;现在存在着一种流传甚广的谬论&#xff0c;有人说比特币并非图灵完备的&#xff0c;它不能像以太坊区块链那样进行复杂…

【LeetCode:64. 最小路径和 | 暴力递归=>记忆化搜索=>动态规划 】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

RT-Thread GD32F4xx PWM设备驱动

目录 1、PWM简介2、PWM设备驱动2.1 创建PWM设备2.2 实现PWM设备操作方法2.3 注册PWM设备2.4 PWM配置3、应用测试1、PWM简介 PWM(Pulse Width Modulation,脉冲宽度调制) 是一种对模拟信号电平进行数字编码的方法,通过不同频率的脉冲使用方波的占空比用来对一个具体模拟信号的电…

BM50-两数之和

题目 给出一个整型数组 numbers 和一个目标值 target&#xff0c;请在数组中找出两个加起来等于目标值的数的下标&#xff0c;返回的下标按升序排列。 &#xff08;注&#xff1a;返回的数组下标从1开始算起&#xff0c;保证target一定可以由数组里面2个数字相加得到&#xf…

Java 基础进阶篇(二)—— 面向对象的三大特征之二:继承

文章目录 一、继承概述二、内存运行原理 ★三、继承的特点四、继承后&#xff1a;成员变量和方法的访问特点五、继承后&#xff1a;方法重写六、继承后&#xff1a;子类构造器的特点七、继承后&#xff1a;子类构造器访问父类有参构造器八、this、super 总结 一、继承概述 Jav…