qidao123.com ToB IT社区-企服评测·应用市场
标题:
Unity类银河兵士恶魔城学习总结(P181-182 Boss Bringer第一个boss)
[打印本页]
作者:
南飓风
时间:
2025-12-5 06:27
标题:
Unity类银河兵士恶魔城学习总结(P181-182 Boss Bringer第一个boss)
教程源所在:https://www.udemy.com/course/2d-rpg-alexdev/
完结撒花!!!!!!
本章控制作了精英怪物
殒命领主
,拥有高额的伤害,和
传送
技能,召唤
殒命触手
技能
攻击有概率触发传送,之后召唤触手
Enemy_DeathBringer.cs
1. 传送功能
目标:让 Boss 在指定范围内举行随机传送。
逻辑:
在传送地区 (arena) 内随机天生一个位置。
查抄该位置是否满意:
在地面上(通过射线检测 GroundBelow())。
附近没有玩家或停滞物(SomethingIsAround())。
假如位置不符合,递归重新查找。
传送概率控制:
使用 CanTeleport() 函数判定是否可以传送,基于随机概率决定。
乐成传送后,重置传送概率为默认值。
2.
施法功能
目标
:天生施法技能攻击玩家。
逻辑
:
获取玩产业前位置,并盘算偏移量。
在玩家位置附近天生施法技能(spellPrefab)。
通过冷却时间控制施法频率,使用 CanDoSpellCast() 函数判定是否可以施法。
using System.Collections;
using UnityEngine;
//2024.12.16
//完结撒花
public class Enemy_DeathBringer : Enemy
{
public bool bossFightBegun;
[Header("施法信息")]//Spell cast details
[SerializeField] private GameObject spellPrefab;
public int amountOfSpells;
public float spellCooldown;
public float lastTimeCast;
[SerializeField] private float spellStateCooldown;
[SerializeField] private Vector2 spellOffset;
[Header("传送信息")]//Teleport details
[SerializeField] private BoxCollider2D arena;
[SerializeField] private Vector2 surroundingCheckSize;
public float chanceToteleport;
public float defaultChanceToTeleport =25 ;
#region States
public DeathBringerBattleState battleState { get; private set; }
public DeathBringerAttackState attackState { get; private set; }
public DeathBringerIdleState idleState { get; private set; }
public DeathBringerDeadState deadState { get; private set; }
public DeathBringerSpellCastState spellCastState { get; private set; }
public DeathBringerTeleportState teleportState { get; private set; }
#endregion
protected override void Awake()
{
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 qidao123.com ToB IT社区-企服评测·应用市场 (https://www.qidao123.com/bbs/)
Powered by Discuz! X3.5