// *********************************************************************** // Assembly : Game // Author : Kimch // Created : 2020-09-02 // Description : // Last Modified By : // Last Modified On : // *********************************************************************** // // // *********************************************************************** namespace G { using UnityEngine; /// /// 扩散箭 /// public class Bullet_arrow_spread : MonoBehaviour { public float bullet_speed; public int spread_count; public int spread_angle; public Transform sub_arrow; private Transform _sub1; private Transform _sub2; private EnemyDamage _wd; private bool _createSub; private void Awake() { _wd = GetComponent(); } private void OnEnable() { _createSub = false; } private void Update() { if (!_createSub && spread_count > 0) { _createSub = true; for (int i = 0; i < spread_count; i++) { Vector3 eulerAngles = transform.eulerAngles; var a = Quaternion.Euler(eulerAngles.x, eulerAngles.y + spread_angle * (i + 1), 0f); _sub1 = Object.Instantiate(sub_arrow, transform.position, a); _sub1.GetComponent().PressDamage(_wd.damage); Object.Destroy(_sub1.gameObject, 1f); var b = Quaternion.Euler(eulerAngles.x, eulerAngles.y - spread_angle * (i + 1), 0f); _sub2 = Object.Instantiate(sub_arrow, transform.position, b); _sub2.GetComponent().PressDamage(_wd.damage); Object.Destroy(_sub2.gameObject, 1f); } } Vector3 position = transform.position; if (position.y > 0f) { transform.position = position + this.transform.forward * (bullet_speed * Time.deltaTime); } } } }