水鲨鱼修改

This commit is contained in:
GL 2025-01-03 20:50:25 +08:00
parent 2d4dd3e1c9
commit 861ba21b13
4 changed files with 18 additions and 8 deletions

View File

@ -40,6 +40,7 @@ public class Attack : MonoBehaviour
[Header("攻击范围显示脚本")] public CharacterClick characterClick; [Header("攻击范围显示脚本")] public CharacterClick characterClick;
[Header("攻击随机角度范围")] public float Angle=30; [Header("攻击随机角度范围")] public float Angle=30;
[Header("子弹分裂个数")] public int splitNum = 2; [Header("子弹分裂个数")] public int splitNum = 2;
[Header("分裂子弹伤害")] public float SplitAttack = 10;
public bool isAttack = true; public bool isAttack = true;
public bool flag = false; public bool flag = false;
[HideInInspector] public float timer = 0; [HideInInspector] public float timer = 0;

View File

@ -304,12 +304,13 @@ public class Bullet : MonoBehaviour
for (int i = 0; i < attackObj.splitNum; i++) for (int i = 0; i < attackObj.splitNum; i++)
{ {
// 在当前方向上随机生成偏移量 // 在当前方向上随机生成偏移量
Vector3 randomOffset = new Vector3(Random.Range(-0.2f, 0.2f), Random.Range(-0.2f, 0.2f), Random.Range(-0.2f, 0.2f)); Vector3 randomOffset = new Vector3(Random.Range(-0.2f, 0.2f), Random.Range(-0.2f, 0.2f));
// 生成一个小子弹 // 生成一个小子弹
GameObject smallBullet = Instantiate(smallBulletPrefab, transform.position, Quaternion.identity); GameObject smallBullet = Instantiate(smallBulletPrefab, transform.position, Quaternion.identity);
smallBullet.GetComponent<SmallBullet>().role = role; smallBullet.GetComponent<SmallBullet>().role = role;
smallBullet.GetComponent<SmallBullet>().attackObj=attackObj; smallBullet.GetComponent<SmallBullet>().attackObj=attackObj;
smallBullet.GetComponent<SmallBullet>().Target = Target;
// 为小子弹设置飞行方向(当前方向 + 随机偏移) // 为小子弹设置飞行方向(当前方向 + 随机偏移)
smallBullet.transform.up = currentDirection+randomOffset; smallBullet.transform.up = currentDirection+randomOffset;

View File

@ -115,8 +115,11 @@ public class Role : Fun
{ {
go.GetComponent<SnowHpControl>().CreateText(); go.GetComponent<SnowHpControl>().CreateText();
} }
if (temp - hp>0)
{
go.GetComponent<Text>().text = (temp - hp).ToString("F0"); // 显示伤害值
}
go.GetComponent<Text>().text = (temp - hp).ToString("F0"); // 显示伤害值
} }
// 判断角色是否死亡 // 判断角色是否死亡
if (hp <= 0) if (hp <= 0)
@ -306,7 +309,10 @@ public class Role : Fun
if (lsanimationHighlight == dieIndex) if (lsanimationHighlight == dieIndex)
{ {
SpawnPool.intance.DeadNumber += 1; SpawnPool.intance.DeadNumber += 1;
Destroy(gameObject);
Destroy(gameObject);
} }
if (lsanimationHighlight == hitIndex) if (lsanimationHighlight == hitIndex)

View File

@ -24,7 +24,7 @@ public class SmallBullet : Bullet
{ {
this.gameObject.transform.Translate(Vector3.up * Time.deltaTime * bulletData.BulletSpeed); this.gameObject.transform.Translate(Vector3.up * Time.deltaTime * bulletData.BulletSpeed*8);
@ -45,7 +45,7 @@ public class SmallBullet : Bullet
private void OnTriggerEnter2D(Collider2D collision) private void OnTriggerEnter2D(Collider2D collision)
{ {
Role Crole = collision.gameObject.GetComponent<Role>(); Role Crole = collision.gameObject.GetComponent<Role>();
if (Crole) if (Crole&&Target!= collision.gameObject)
{ {
if (Crole.camp != role.camp) if (Crole.camp != role.camp)
{ {
@ -70,10 +70,12 @@ public class SmallBullet : Bullet
{ {
direction = 1; direction = 1;
} }
Crole.bloodLoss(new object[] { Crole, role.DamageCreate(Crole.GetComponent<Role>()), attackObj.damageTyp, role }, direction); Crole.bloodLoss(new object[] { Crole, attackObj.SplitAttack, attackObj.damageTyp, role }, direction);
Crole.FlashRedEffect();
role.GetComponent<enemy>().HarmNumber += attackObj.SplitAttack;
Debug.Log("·ÖÁѹ¥»÷É˺¦"+ attackObj.SplitAttack);
if (myBulletType != BulletType.Spraying) if (myBulletType != BulletType.Spraying)
{ {