| | |
| | | public Vector3 normalBeginScale = new Vector3(2f, 2f, 2f); |
| | | [Tooltip("普通飘字结束缩放")] |
| | | public Vector3 normalEndScale = new Vector3(1f, 1f, 1f); |
| | | [Tooltip("普通缩放变化曲线 (X轴=时间进度0-1, Y轴=插值进度0-1)")] |
| | | public AnimationCurve normalScaleCurve = AnimationCurve.Linear(0, 0, 1, 1); |
| | | |
| | | [Header("Critical Animation Settings")] |
| | | [Tooltip("暴击飘字初始缩放")] |
| | | public Vector3 critBeginScale = new Vector3(3f, 3f, 3f); |
| | | [Tooltip("暴击飘字结束缩放")] |
| | | public Vector3 critEndScale = new Vector3(1.5f, 1.5f, 1.5f); |
| | | [Tooltip("缩放变化曲线 (X轴=时间进度0-1, Y轴=插值进度0-1)")] |
| | | public AnimationCurve scaleCurve = AnimationCurve.Linear(0, 0, 1, 1); |
| | | [Tooltip("暴击缩放变化曲线 (X轴=时间进度0-1, Y轴=插值进度0-1)")] |
| | | public AnimationCurve critScaleCurve = AnimationCurve.Linear(0, 0, 1, 1); |
| | | |
| | | [Header("Color Settings")] |
| | | [Tooltip("初始颜色和透明度")] |
| | |
| | | { |
| | | float timeProgress = timer / config.scaleChangeTime; |
| | | |
| | | // 使用曲线来调整缩放插值进度 |
| | | float scaleProgress = config.scaleCurve.Evaluate(timeProgress); |
| | | // 根据是否暴击选择对应的缩放曲线 |
| | | AnimationCurve scaleCurve = isCritical ? config.critScaleCurve : config.normalScaleCurve; |
| | | float scaleProgress = scaleCurve.Evaluate(timeProgress); |
| | | Vector3 currentScale = Vector3.Lerp(GetBeginScale(), GetEndScale(), scaleProgress); |
| | | rectTransform.localScale = currentScale * scaleRatio; |
| | | |