IUIAnimationStoryboard2::RepeatBetweenKeyframes 方法 (uianimation.h)

在两个关键帧之间创建循环。

语法

HRESULT RepeatBetweenKeyframes(
  [in] UI_ANIMATION_KEYFRAME                   startKeyframe,
  [in] UI_ANIMATION_KEYFRAME                   endKeyframe,
  [in] DOUBLE                                  cRepetition,
  [in] UI_ANIMATION_REPEAT_MODE                repeatMode,
  [in] IUIAnimationLoopIterationChangeHandler2 *pIterationChangeHandler,
  [in] UINT_PTR                                id,
  [in] BOOL                                    fRegisterForNextAnimationEvent
);

参数

[in] startKeyframe

循环要从其开始的关键帧。

[in] endKeyframe

循环结束的关键帧。 endKeyframe 不得早于 startKeyframe 出现在情节提要中。

[in] cRepetition

循环要重复的次数;循环的最后一次迭代可以在关键帧之间小数终止。 值为零表示将不会播放情节提要的指定部分。 值 UI_ANIMATION_REPEAT_INDEFINITELY (-1) 表示循环将无限期重复,直到剪裁或结束情节提要。

[in] repeatMode

循环迭代的模式。

值 UI_ANIMATION_REPEAT_MODE_ALTERNATE (1) 指定循环的开始必须在关键帧之间交替 (k1-k2、k2-k1>>、k1-k2> 等) 。

值 UI_ANIMATION_REPEAT_MODE_NORMAL (0) 指定循环的开始必须以第一个关键帧 (k1-k2>、k1-k2>、k1-k2> 等) 。

注意 如果 repeatMode 的值为 UI_ANIMATION_REPEAT_MODE_ALTERNATE (1) 而 cRepetition 的值为 UI_ANIMATION_REPEAT_INDEFINITELY (-1) ,则循环将在结束关键帧上终止。
 

[in] pIterationChangeHandler

每个循环迭代事件的处理程序。 默认值为 0。

[in] id

要传递给 pIterationChangeHandler 的循环 ID。 默认值为 0。

[in] fRegisterForNextAnimationEvent

如果为 true,则指定 pIterationChangeHandler 将合并到 IUIAnimationManager2::EstimateNextEventTime 方法返回的下一个动画事件之前的估计时间间隔中。 默认值为 0 或 false。

返回值

如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。 有关错误代码列表,请参阅 Windows 动画 错误代码。

注解

此方法指示情节提要在播放情节提要的其余部分之前重复播放给定关键帧之间的间隔。 如果指定了有限重复计数,则循环始终播放该次数。 如果指定 UI_ANIMATION_REPEAT_INDEFINITELY (-1) ,循环将重复,直到情节提要结束,在这种情况下,循环的当前迭代完成,情节提要的其余部分将播放。 如果情节提要被截断,则无限期循环的情节提要也会结束。

不支持嵌套循环和重叠循环。

关键帧表示情节提要中的某个时刻,可用于指定切换的开始或结束时间。 由于关键帧可以在切换结束时添加,因此在情节提要播放之前,它们与情节提要开头的偏移量可能未知。

要求

要求
最低受支持的客户端 Windows 8、Windows 7 和适用于 Windows 7 的平台更新 [桌面应用 |UWP 应用]
最低受支持的服务器 无受支持的版本
目标平台 Windows
标头 uianimation.h
DLL UIAnimation.dll

另请参阅

IUIAnimationStoryboard2

IUIAnimationStoryboard2::AddKeyframeAfterTransition

IUIAnimationStoryboard2::AddKeyframeAtOffset