| | |
| | | SlideFromBottom, // 从底部滑入 |
| | | SlideFromLeft, // 从左侧滑入 |
| | | SlideFromRight, // 从右侧滑入 |
| | | ScaleOverInOut,// 缩放(超过)之后再返回 |
| | | ScaleOverInOut,// 缩放根据曲线 |
| | | |
| | | } |
| | | |
| | |
| | | canvasGroup.alpha = 0f; |
| | | canvasGroup.blocksRaycasts = false; |
| | | } |
| | | if (canvasScaler != null) |
| | | if (_rectTransform != null) |
| | | { |
| | | canvasScaler.scaleFactor = 1f; |
| | | _rectTransform.localScale = Vector3.one; |
| | | } |
| | | break; |
| | | |
| | |
| | | canvasGroup.alpha = 1f; |
| | | canvasGroup.blocksRaycasts = false; |
| | | } |
| | | if (canvasScaler != null) |
| | | if (_rectTransform != null) |
| | | { |
| | | canvasScaler.scaleFactor = 0.3f; |
| | | _rectTransform.localScale = Vector3.one * 0.3f; |
| | | } |
| | | break; |
| | | |
| | |
| | | canvasGroup.alpha = 1f; |
| | | canvasGroup.blocksRaycasts = false; |
| | | } |
| | | if (canvasScaler != null) |
| | | if (_rectTransform != null) |
| | | { |
| | | canvasScaler.scaleFactor = 0.3f; |
| | | _rectTransform.localScale = Vector3.one * 0.3f; |
| | | } |
| | | break; |
| | | } |
| | |
| | | case UIAnimationType.ScaleInOut: |
| | | if (_rectTransform != null) |
| | | { |
| | | currentAnimation.Append(DOVirtual.Float(0.3f, 1f, animeDuration, (value) => {canvasScaler.scaleFactor = value;}).SetEase(animationEase)); |
| | | currentAnimation.Append(DOVirtual.Float(0.3f, 1f, animeDuration, (value) => {_rectTransform.localScale = Vector3.one * value;}).SetEase(animationEase)); |
| | | } |
| | | break; |
| | | |
| | |
| | | case UIAnimationType.ScaleOverInOut: |
| | | if (_rectTransform != null) |
| | | { |
| | | if (null == scaleOverInOutCurve) |
| | | { |
| | | currentAnimation.Append(DOVirtual.Float(0.3f, 1.2f, animeDuration, |
| | | (value) => {canvasScaler.scaleFactor = value;}).SetEase(animationEase)); |
| | | } |
| | | else |
| | | { |
| | | currentAnimation.Append(DOVirtual.Float(0.3f, 1.2f, animeDuration, |
| | | (value) => {canvasScaler.scaleFactor = value;}).SetEase(scaleOverInOutCurve.curve)); |
| | | } |
| | | float startScale = scaleOverInOutCurve.curve.Evaluate(0f); |
| | | _rectTransform.localScale = Vector3.one * startScale; |
| | | currentAnimation.Append( |
| | | DOTween.To( |
| | | () => _rectTransform.localScale.x, |
| | | (value) => _rectTransform.localScale = Vector3.one * value, |
| | | 1f, |
| | | animeDuration |
| | | ) |
| | | .SetEase(scaleOverInOutCurve.curve) |
| | | .OnComplete(() => _rectTransform.localScale = Vector3.one) // 确保最终值1正确 |
| | | ); |
| | | |
| | | |
| | | // currentAnimation.Append(DOVirtual.Float(1.2f, 1f, 0.1f, (value) => {canvasScaler.scaleFactor = value;}).SetEase(scaleOverInOutCurve)); |
| | | } |
| | | break; |
| | | } |
| | |
| | | canvasGroup.alpha = 1f; |
| | | canvasGroup.blocksRaycasts = true; |
| | | } |
| | | if (canvasScaler != null) |
| | | if (_rectTransform != null) |
| | | { |
| | | canvasScaler.scaleFactor = 1f; |
| | | _rectTransform.localScale = Vector3.one; |
| | | } |
| | | |
| | | if (_rectTransform != null) |
| | |
| | | case UIAnimationType.ScaleOverInOut: |
| | | if (_rectTransform != null) |
| | | { |
| | | currentAnimation.Append(DOVirtual.Float(1f, 0.3f, animeDuration, (value) => {canvasScaler.scaleFactor = value;}).SetEase(animationEase)); |
| | | currentAnimation.Append(DOVirtual.Float(1f, 0.3f, animeDuration, (value) => {_rectTransform.localScale = Vector3.one * value;}).SetEase(animationEase)); |
| | | } |
| | | break; |
| | | |