| | |
| | | [SerializeField] protected RectTransform _rectTransform; //界面默认添加根节点用于表现界面开启关闭动画 |
| | | |
| | | [SerializeField]/*[HideInInspector]*/ public float animeDuration = 0.2f; |
| | | [SerializeField]public TweenCurve scaleOverInOutCurve; |
| | | [SerializeField][HideInInspector] public Ease animationEase = Ease.OutQuad; // 确保使用 DG.Tweening.Ease |
| | | |
| | | // 运行时状态 |
| | |
| | | case UIAnimationType.ScaleOverInOut: |
| | | if (_rectTransform != null) |
| | | { |
| | | currentAnimation.Append(DOVirtual.Float(0.3f, 1.2f, animeDuration, (value) => {canvasScaler.scaleFactor = value;}).SetEase(animationEase)); |
| | | currentAnimation.Append(DOVirtual.Float(1.2f, 1f, 0.1f, (value) => {canvasScaler.scaleFactor = value;}).SetEase(animationEase)); |
| | | 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)); |
| | | } |
| | | |
| | | |
| | | // currentAnimation.Append(DOVirtual.Float(1.2f, 1f, 0.1f, (value) => {canvasScaler.scaleFactor = value;}).SetEase(scaleOverInOutCurve)); |
| | | } |
| | | break; |
| | | } |
| | |
| | | currentAnimation.OnComplete(() => |
| | | { |
| | | isAnimating = false; |
| | | |
| | | _ResetToBegin(); |
| | | OnOpenAnimationComplete(); |
| | | |
| | | // 启用交互 |