日志2025.2.17
- 软件开发
- 2025-09-04 21:12:02

日志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); }
} }
日志2025.2.17由讯客互联软件开发栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“日志2025.2.17”