首页 > 其他分享 >Unity类银河战士恶魔城学习总结(P117 Ice And Fire Item Effec 制作一把冰火属性的剑)

Unity类银河战士恶魔城学习总结(P117 Ice And Fire Item Effec 制作一把冰火属性的剑)

时间:2024-11-09 19:47:42浏览次数:6  
标签:P117 Fire void private player Ice 冰火 using 技能

【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili

教程源地址:https://www.udemy.com/course/2d-rpg-alexdev/

制作一把双重属性的剑,我取名为冰与火之歌

 IceAndFire_Effect.cs

  • 这个脚本的作用是在玩家第三次攻击时生成一个冰火技能预制体,预制体会根据玩家的朝向以设定的速度向前飞行。
  • 该技能的核心特性是结合了玩家的连击次数(第三次连击时触发)和物理效果(通过 Rigidbody2D 控制速度)。
  • 生成的技能物体在 10 秒后自动销毁,以保持场景的清洁。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

[CreateAssetMenu(fileName = "Ice and Fire effect", menuName = "Data/Item effect/Ice and Fire")]
public class IceAndFire_Effect : ItemEffect
{
    [SerializeField] private GameObject iceAndFirePrefab;//冰火技能预制体
    [SerializeField] private float xVelocity;//冰火技能的水平速度

    public override void ExcuteEffect(Transform _respawnPositon)
    {
        Player player = PlayerManager.instance.player;

        bool thirdAttack =player.GetComponent<Player>().primaryAttack.comboCounter == 2;//第三次攻击才能释放冰火技能

        if (thirdAttack)
        {

            GameObject newIceAndFire = Instantiate(iceAndFirePrefab, _respawnPositon.position, player.transform.rotation);

            newIceAndFire.GetComponent<Rigidbody2D>().velocity = new Vector2 (xVelocity *player.facingDir,0);//修改朝向

            Destroy(newIceAndFire, 10);
        }    
    }
}

IceAndFire_Controller.cs

简单的覆盖碰撞触发器

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

public class IceAndFire_Controller : ThunderStrike_Controller
{
    protected override void OnTriggerEnter2D(Collider2D collision)
    {
        base.OnTriggerEnter2D(collision);
    }
}

PlayerAnimationTriggers.cs

using UnityEngine;

public class PlayerAnimationTriggers : MonoBehaviour
{
    private Player player => GetComponentInParent<Player>();

    private void AnimationTrigger()
    {
        player.AnimationTrigger();
    }

    private void AttackTrigger()//攻击触发函数
    {
        Collider2D[] colliders = Physics2D.OverlapCircleAll(player.attackCheck.position, player.attackCheckRadius);//检测区域内的敌人

        foreach (var hit in colliders)//遍历检测到的对象
        {
            if (hit.GetComponent<Enemy>() != null)
            {
                EnemyStats _target = hit.GetComponent<EnemyStats>();//判断是否是敌人

                if (_target != null) //对敌人造成伤害
                    player.stats.DoDamage(_target);


                ItemData_Equipment weaponData = Inventory.instance.GetEquipment(EquipmentType.Weapon);

                if (weaponData != null)//应用武器特殊效果
                    weaponData.Effect(_target.transform);

            }
        }
    }


    private void ThrowSword()
    {
        SkillManager.instance.sword.CreateSword();
    }
}

标签:P117,Fire,void,private,player,Ice,冰火,using,技能
From: https://blog.csdn.net/suzh1qian/article/details/143634360

相关文章

  • ONLYOFFICE 8.2深度测评:开源的办公套件
    本文一、OCR与PDF功能升级,实现文档管理智能化1.PDF编辑与OCR文本识别2.丰富的PDF标记和注释选项二、表格功能的深度增强,数据分析更高效1.新增数据透视表功能2.自动填充和智能建议三、实时协作功能升级,团队合作更加顺畅1.多人在线协作,实时编辑2.文档加密与权限管......
  • ONLYOFFICE 8.2:功能升级与高效办公的新境界
    ONLYOFFICE8.21.关于ONLYOFFICE2.协作编辑PDF3.改进的简洁界面4.优化性能5.文档编辑器中的新功能6.体验感想前言:最近,在大家的无限期待下,ONLYOFFICE迎来了8.2版本的更新,带来了诸多令人期待的新特性和改进。作为一位热爱探索新技术、追求高效办公的用户,我迫不......
  • An indoor service area determination approach for pedestrian navigation path pla
    目的:人们在导航时往往需要设定具体的起点和终点,但有时他们可能只想找到某个类型的地方,比如最近的商店或厕所。需求?最短距离、最快速路径、最简单或最少转弯的路径、最少或最多空间访问、最少障碍物的路径、一般安全路径、避开动态障碍物的安全路径、健康最优路径(例如特定程度的卡......
  • ONLYOFFICE ——让团队合作更高效
    1.什么是ONLYOFFICEONLYOFFICE是一款开源的办公套件,提供文档、电子表格和演示文稿的创建与编辑功能,类似于MicrosoftOffice和GoogleWorkspace。它包含了多个组件,主要有以下几个方面:1.文档编辑器:用于创建和编辑文字处理文档,支持多种格式,如DOCX、ODT等。2.电子表格编......
  • 解决Mac M芯片 Wireshark 运行rvictl -s 后,出现Starting device failed
    前言macosbigsur之后,苹果系统的安全性能提升,导致rvictl-s创建虚拟网卡失败。$rvictl-s000348120-001621w21184C01Ebootstrap_look_up():1102Startingdevice000348120-001621w21184C01E[FAILED]这是由于rvictl需要开启系统扩展才能使用,但是M芯片的Mac不......
  • ONLYOFFICE 8.2深度体验:高效协作与卓越性能的完美融合
    ......
  • Lattice、Xilinx FPGA reg初始化赋值问题
    一、起因最近在开发Lattice的一款低功耗FPGA时,遇到了reg初始化复位问题,经过在网上搜寻相关资料整理如下;二、FPGA中reg的初始化方式在定义时初始化,例如:regr_test=1'b1;在复位语句中,对reg进行赋值,例如:regr_test;always@(posedgesys_clk)beginif(~sys_rst_n)beg......
  • ubuntu下安装 git 及部署cosyvoice(1)
    1.git安装使用应用市场如图2.登录,clone项目完成后如图,我也看不懂,反正高大上。2.Anaconda cosyvoice虚拟环境的部署2.1创建(base)duyicheng@duyicheng-computer:~$condacreate--namecosyvoice-yChannels:-defaultsPlatform:linux-64Collectingpacka......
  • 好未来:多云环境下基于 JuiceFS 建设低运维模型仓库
    好未来,前身学而思,于2010年在美国纽约证券交易所上市。公司积极将大模型研究应用于教学产品中,近期推出了数学领域的千亿级大模型。在大模型的背景下,存储系统需处理巨量数据和复杂文件操作,要求支持高并发和高吞吐量。此外,还需应对版本管理、模型训练性能优化和多云分发的挑战。......
  • nodejs 18.20.4 juice 库将html中的全局CSS格式, 转化为每个元素内联的CSS格式
    执行下面命令,安装nodejs和npmubuntu@ubuntu22:~$sudoaptupdateubuntu@ubuntu22:~$sudoaptinstallnpm#npm是Node.js的包管理工具ubuntu@ubuntu22:~$sudoaptinstall-ycurlubuntu@ubuntu22:~$curl-fsSLhttps://deb.nodesource.com/setup_18.x|sudo-Eb......