当前位置: 首页 > news >正文

日志2025.2.17

日志2025.2.17


1.增加了远程敌人的武器数据
[CreateAssetMenu(fileName = "EnemyWeaponData_Range", menuName = "Scriptable Objects/EnemyWeaponData_Range")]
public class EnemyWeaponData_Range : ScriptableObject
{
    public EnemyWeaponType_Range weaponType;

    public float fireRate = 1f;
    public int bulletsPerAttack = 5;
    public float weaponCooldowm = 2;

    public float bulletSpeed = 20;
    public float weaponSpread = 0.2f;

    //返回连续射击时武器子弹的扩散后的最终方向
    public Vector3 ApplySpread(Vector3 originalDrection)
    {
        float randomValueX = Random.Range(-weaponSpread, weaponSpread);
        float randomValueY = Random.Range(-weaponSpread, weaponSpread);
        float randomValueZ = Random.Range(-weaponSpread, weaponSpread);

        Quaternion spreadRotation = Quaternion.Euler(randomValueX, randomValueY, randomValueZ);

        return spreadRotation * originalDrection;
    }

}


2.增加了远程敌人跑去掩体的状态
using UnityEngine;

public class RunToCoverState_Range : EnemyState
{
    private Enemy_Range enemy;
    private Vector3 destination;

    public RunToCoverState_Range(Enemy enemyBase, EnemyStateMachine stateMachine, string animBoolName) : base(enemyBase, stateMachine, animBoolName)
    {
        enemy = (Enemy_Range)enemyBase;
    }

    public override void Enter()
    {
        base.Enter();
        enemy.agent.speed = enemy.runSpeed;
        destination = enemy.coverPoint.position;
        enemy.agent.destination = destination;
    }

    public override void Exit()
    {
        base.Exit();
    }

    public override void Update()
    {
        base.Update();
        if(Vector3.Distance(enemy.transform.position, destination) <= enemy.agent.stoppingDistance + 0.5f)
        {
            stateMachine.ChangeState(enemy.battleState);
        }

    }
}
 

相关文章:

  • Prolog语言的Web开发
  • 计算机专业知识【原码、反码和补码的计算方法详解】
  • 拯救者电脑在重装系统之后电源计划丢失Fn+Q切换不了模式怎么恢复?
  • 微服务SpringCloudAlibaba组件sentinel教程【详解sentinel的使用以及流量控制、熔断降级、热点参数限流等,附有示例+代码】
  • 算法【贪心经典题目专题3】
  • 深度强化学习实践 Maxim Lapan 章节9:加速强化学习的方法
  • JavaScript数组-数组的概念
  • 用Python实现图像风格迁移的技术分析
  • Jenkins部署、使用与原理分析
  • 图像处理之CSC
  • Cursor编程助手10分钟做项目使用教程:从下载到快速上手个人经验分享
  • 构建高效智能对话前端:基于Ant Design X 的deepseek对话应用
  • compose multiplatform写一个简单的阅读器
  • JDK、Nginx、Kafka、Zookeeper安装部署
  • 机会成本(Opportunity Cost):看不见的“隐形成本”(中英双语)
  • Java每日精进·45天挑战·Day20
  • DeepSeek 助力 Vue 开发:打造丝滑的颜色选择器(Color Picker)
  • 快速点位排查问题的方法
  • 基于pytest+requests+allure+yaml实现接口自动化测试框架
  • git在工作流程中的使用
  • 专注网站建设与优化/青岛做网络推广的公司有哪些
  • 山东大良网站建设/种子搜索神器在线引擎
  • 成都网站开发费用/品牌策略包括哪些内容
  • 高明做网站/爱战网关键词
  • 广州开发网站建设/中国站免费推广入口
  • 微网站医院策划案/微信营销软件群发