动画动画
属性
以下是动画属性的概述。我们将在下面详细介绍。
属性 | 描述 | 默认值 |
---|---|---|
attribute |
动画的属性。要指定组件属性,请使用 componentName.property 语法(例如,light.intensity )。 |
rotation |
begin |
在开始动画之前要等待的事件名称。 | "" |
delay |
在开始动画之前等待的延迟(以毫秒为单位)或事件名称。 | 0 |
direction |
动画的方向(from 和 to 之间)。alternate ,alternateReverse ,normal ,reverse 之一。 |
normal |
dur |
动画的持续时间(毫秒)。 | 1000 |
easing |
缓动动画的功能。有很多可供选择。 | ease |
end |
在停止动画之前要等待的事件名称。 | "" |
fill |
确定动画在不主动播放时的效果。backwards ,both ,forwards ,none 之一。 |
forwards |
from |
起始值。 | Current Value |
repeat |
重复计数或 indefinite 。 |
0 |
to |
结束值。必须指定。 | None |
开始
begin
属性定义动画何时开始播放。
这可以是一个数字,表示等待的毫秒数,也可以是要等待的事件名称。例如,我们可以定义在缩放实体之前等待 2 秒的动画。
<a-entity>
<a-animation attribute="scale" begin="2000" to="2 2 2"></a-animation>
</a-entity>
或者我们可以定义一个动画,等待父元素在淡化实体之前触发名为 fade
的事件。
<a-entity id="fading-cube" geometry="primitive: box" material="opacity: 1">
<a-animation attribute="material.opacity" begin="fade" to="0"></a-animation>
</a-entity>
// Trigger an event to begin fading.
document.querySelector('#fading-cube').emit('fade');
方向
direction
属性定义在起始值和最终值之间设置动画的方式。
当我们定义一个交替方向时,动画将在 from
和 to
值之间来回传递,就像溜溜球一样。交替方向仅在重复动画时生效。
值 | 描述 |
---|---|
alternate |
在偶数周期,从 from 到 to 的动画。在奇数周期,动画从 to 到 from |
alternate-reverse |
在奇数周期上,从 from 到 to 的动画。在偶数周期,动画从 to 到 from |
normal |
从 from 到 to 的动画。 |
reverse |
动画从 to 到 from 。 |
缓解
easing
属性定义动画的缓动功能,默认为 ease
。要列出的缓动函数太多,但我们可以隐式解释它们。
一个可能的价值是 linear
。基本的宽松功能是 ease
,ease-in
,ease-out
和 ease-in-out
。
然后有更多的缓和功能组。上述基本缓动函数为每组缓动函数添加前缀。缓和功能组是 cubic
,quad
,quart
,quint
,sine
,expo
,circ
,elastic
,back
和 bounce
。
例如,cubic
组的缓和功能包括 ease-cubic
,ease-in-cubic
,ease-out-cubic
,ease-in-out-cubic
。
填
fill
属性定义动画在不主动播放时的效果。将 fill
视为每个动画周期之前和/或之后动画在实体上设置的值。以下是 fill
的可能值及其影响。
值 | 描述 |
---|---|
backwards |
在动画开始之前,将起始值设置为 from 值。 |
both |
结合向后填充和向前填充的效果。 |
forwards |
动画结束后,最终值将保持在 to 值。默认填充。 |
none |
在动画开始之前,将起始值设置为初始值。动画结束后,将值重置为初始值。 |
重复
repeat
属性定义动画重复的频率。我们称动画的每个重复都是一个循环。重复可以是在每个动画周期倒计时的数字,直到它到达 0
,此时动画将结束,或者我们可以将 repeat
设置为 indefinite
并且动画将连续循环直到动画被手动移除或停止。
活动
<a-animation>
元素发出了几个事件。
活动名称 | 描述 |
---|---|
animationend |
动画结束时发出。在重复的情况下,当重复计数达到 0 时发出。没有无限重复发出。 |
animationstart |
动画开始播放时立即发出。 |