com.aliyun.svideosdk.common.struct.effect

## Class ActionSet

- java.lang.Object
- - com.aliyun.svideosdk.common.struct.effect.ActionBase
  - - com.aliyun.svideosdk.common.struct.effect.ActionSet

-     public class ActionSet
      extends ActionBase

  v3.25.0 新增

       动画组，动画组里可以包含很多子动画（ActionBase)
       动画组根据编排规则，有两种模式Dependent及Independent
       Dependent模式 ： 所有的子Action都在当前ActionSet的startTime ~ duration下运行，子Action的startTime都是以ActionSet的startTime开始的
                       该模式下，所有的子动画的startTime均会被强制设置成0，只有startOffset及duration起作用，
                       且子动画的开始时间为animationSet.startTime + startOffset， 子动画的duration不会超过ActionSet的duration
       例子：
                 ActionSet   |------------------------------------|
                 Action1     |--------|
                 Action2              |---------------------------|
                 当ActionSet挪动时，Action1，Action2也会跟随移动，如下
                           ActionSet   |---------------------------------|
                           Action1     |--------|
                           Action2              |------------------------|
       Independent模式 ： 该模式下，所有的子动画的时间轴是独立纯在的，和ActionSet无关，
                         如果ActionSet的时间轴没有设置的情况下， 则它的时间轴是所有子节点的并集，此时，ActionSet的时间轴并无实际作用，规则如下
                            ActionSet.startTime = min(childActions.startTime)
                            ActionSet.duration = min(childActions.duration),
                         如果ActionSet的时间轴有设置的情况下，则底下的所有的子节点的时间轴以ActionSet的为准，即
                            如果ActionSet设置过startTime，childActions.startTime = ActionSet.startTime
                            如果ActionSet设置过duration，childActions.duration = ActionSet.duration
       例子：
       ActionSet未设置过startTime，duration
                ActionSet     |-----------------------|  无实际含义及作用
                Action1       |--------|
                Action2           |------------------------|
       ActionSet设置过startTime，duration
                ActionSet    |-----------------------|
                Action1      |-----------------------|
                Action2      |-----------------------|

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `ActionSet.AnimationMode`

    - ### Nested classes/interfaces inherited from class com.aliyun.svideosdk.common.struct.effect.ActionBase

      `ActionBase.Interpolator, ActionBase.PartParam, ActionBase.RepeatMode, ActionBase.Scope, ActionBase.Type`

  - ### Field Summary

    - ### Fields inherited from class com.aliyun.svideosdk.common.struct.effect.ActionBase

      `mAnimationConfig, mDuration, mFillAfter, mFillBefore, mId, mInterpolatorType, mIsStream, mPartParam, mRepeatCount, mRepeatMode, mScope, mStartOffset, mTargetId, mTimelineIn, mTimelineOut, mType`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ActionSet()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addAction(ActionBase aActionBase)`
    `void` | `setAnimationConfig(java.lang.String animationConfig)` 自定义动画的配置脚本，开发者可以自行配置每种动画在每一个时间刻度的具体动画值，以实现各种各样的变换速度 配置脚本的格式是采用键值对，是以分号"；"为间隔的键值对列表，键就是时间刻度，值则分单值和双值，比如旋转角度这种只需要描述角度值， 则使用单值，而像位移、缩放这种，需要x，y的值，则使用双值，双值的两个值之间用逗号"，"间隔，键和值之间以冒号"："间隔。 举例：旋转角度变化的"0.0:0.123;0.1:0.245;0.3:0.798"。 位移变化的"0.0:0.234,1.47;0.1:2.3,4.565;0.2:3.45,6.78"
    `void` | `setMode(ActionSet.AnimationMode aMode)`

    - ### Methods inherited from class com.aliyun.svideosdk.common.struct.effect.ActionBase

      `equals, getAnimationConfig, getDuration, getDuration, getId, getResId, getStartTime, getStartTime, getTargetId, getTimelineIn, getTimelineOut, getType, isStream, setDuration, setDuration, setFillAfter, setFillBefore, setId, setInterpolatorType, setIsStream, setPartParam, setRepeatCount, setRepeatMode, setResId, setScope, setStartOffset, setStartTime, setStartTime, setTargetId, setTimelineIn, setTimelineOut, setType`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### ActionSet

          public ActionSet()

  - ### Method Detail

    - #### addAction

          public void addAction(ActionBase aActionBase)

    - #### setMode

          public void setMode(ActionSet.AnimationMode aMode)

    - #### setAnimationConfig

          public void setAnimationConfig(java.lang.String animationConfig)

      Description copied from class: `ActionBase`

           自定义动画的配置脚本，开发者可以自行配置每种动画在每一个时间刻度的具体动画值，以实现各种各样的变换速度
           配置脚本的格式是采用键值对，是以分号"；"为间隔的键值对列表，键就是时间刻度，值则分单值和双值，比如旋转角度这种只需要描述角度值，
           则使用单值，而像位移、缩放这种，需要x，y的值，则使用双值，双值的两个值之间用逗号"，"间隔，键和值之间以冒号"："间隔。
           举例：旋转角度变化的"0.0:0.123;0.1:0.245;0.3:0.798"。
           位移变化的"0.0:0.234,1.47;0.1:2.3,4.565;0.2:3.45,6.78"

      Overrides:
        `setAnimationConfig` in class `ActionBase`
      Parameters:
        `animationConfig` - 配置脚本