From 5404df9dda332b69e7fdee296b584e0e27e562f8 Mon Sep 17 00:00:00 2001 From: wangguan <wangguan@kt007.com> Date: Tue, 03 Nov 2020 15:01:38 +0800 Subject: [PATCH] 改进飞行特效 --- Assets/Scripts/UI/FlyImage.cs | 11 ++++++++--- Assets/Scripts/TowerDefense/Level/EndlessDropManager.cs | 26 ++++++++++++++++++++++++++ Assets/Scripts/TowerDefense/UI/EndlessDropReward.cs | 17 ++--------------- 3 files changed, 36 insertions(+), 18 deletions(-) diff --git a/Assets/Scripts/TowerDefense/Level/EndlessDropManager.cs b/Assets/Scripts/TowerDefense/Level/EndlessDropManager.cs index 01c55c5..a11de8c 100644 --- a/Assets/Scripts/TowerDefense/Level/EndlessDropManager.cs +++ b/Assets/Scripts/TowerDefense/Level/EndlessDropManager.cs @@ -194,6 +194,32 @@ return fly; } + + public void FlyIcon(Transform ts, Sprite sp, Vector3 startP, Vector3 endP, bool useBezier) + { + StartCoroutine(CreateIcon(ts, sp, startP, endP, useBezier)); + } + + IEnumerator CreateIcon(Transform ts, Sprite sp, Vector3 startP, Vector3 endP, bool useBezier) + { + FlyImage fly; + + for (int i = 0; i < 5; i++) + { + fly = CreateIcon(ts); + fly.SetDestination(sp, startP, endP, useBezier); + } + yield return new WaitForSeconds(0.2f); + + for (int i = 0; i < 3; i++) + { + fly = CreateIcon(ts); + fly.SetDestination(sp, startP, endP, useBezier); + } + + yield break; + } + /// <summary> /// 调用掉落获得事件 /// </summary> diff --git a/Assets/Scripts/TowerDefense/UI/EndlessDropReward.cs b/Assets/Scripts/TowerDefense/UI/EndlessDropReward.cs index 00f4c4a..1b41082 100644 --- a/Assets/Scripts/TowerDefense/UI/EndlessDropReward.cs +++ b/Assets/Scripts/TowerDefense/UI/EndlessDropReward.cs @@ -80,30 +80,17 @@ public GameObject drapIcon; public void OnClick() { - //GameObject obj; - FlyImage fly; - //GameObject ui = GameObject.Find("BottomUI"); - - if (Application.platform == RuntimePlatform.WindowsEditor) - { - //UnityEditor.EditorApplication.isPaused = true; - } if (isBox) { - for (int i = 0; i < 5; i++) - { - fly = EndlessDropManager.instance.CreateIcon(transform.parent); - fly.SetDestination(Icon.sprite, transform.position, (propBtn.transform as RectTransform).position, true); - } + EndlessDropManager.instance.FlyIcon(transform.parent, Icon.sprite, transform.position, (propBtn.transform as RectTransform).position, true); } else { - fly = EndlessDropManager.instance.CreateIcon(transform.parent); + FlyImage fly = EndlessDropManager.instance.CreateIcon(transform.parent); fly.SetDestination(Icon.sprite, transform.position, (propBtn.transform as RectTransform).position, false); } if (ClickDropEvent != null) ClickDropEvent(DropData); - } diff --git a/Assets/Scripts/UI/FlyImage.cs b/Assets/Scripts/UI/FlyImage.cs index b1ba16d..d138533 100644 --- a/Assets/Scripts/UI/FlyImage.cs +++ b/Assets/Scripts/UI/FlyImage.cs @@ -88,12 +88,17 @@ /// </summary> private void Bezier_Move() { - transform.DOMove(point[index], 0.01f).OnComplete(Bezier_Move); - index++; - if (index >= point.Count) + if (index + 2 >= point.Count) { //到终点了 Close(); + return; + } + else + { + transform.DOMove(point[index], 0.01f).OnComplete(Bezier_Move); + + index += 2; } } -- Gitblit v1.9.1