Animation 在K帧(VR)中模拟CSS关键帧动画
我想在单个实体(例如:)的单个属性(例如:缩放)上创建一个动画,该属性将使用。这可能吗 例如,这将是一个简单的情况:Animation 在K帧(VR)中模拟CSS关键帧动画,animation,aframe,virtual-reality,Animation,Aframe,Virtual Reality,我想在单个实体(例如:)的单个属性(例如:缩放)上创建一个动画,该属性将使用。这可能吗 例如,这将是一个简单的情况: <a-scene> <a-circle position="0 1.25 -5" color="#F55" radius="1" scale=".1 .1 1" animation__scale="property: scale; dir: normal; dur: 500; easing: easeInSin
<a-scene>
<a-circle
position="0 1.25 -5"
color="#F55"
radius="1"
scale=".1 .1 1"
animation__scale="property: scale; dir: normal; dur: 500; easing: easeInSine; loop: true; to: 1 1 1"
>
</a-circle>
</a-scene>
我想,比如说,在前500毫秒从.1.1到.5.5 1,然后在下一个500毫秒保持在.5.5 1,然后在下一个200毫秒回到.1.1 1,然后在整个过程中不断循环
这是可能的吗?您可以在组件中以菊花链方式链接动画,检查哪个动画结束并开始下一个动画。
在您的情况下,这将是
动画1结束->等待500毫秒并开始动画2->动画2结束->等待200毫秒并开始动画1
您可以通过简单地侦听
动画\uuid]-complete
事件并发出另一个事件来实现这一点。
如果只是将它们链接起来,就可以在开始事件列表上映射多个侦听器。
但是,您希望为它们提供一些自定义等待期,这些等待期可以包含在映射函数中,也可以手动完成:
el.addEventListener('animation__scale1-complete', function() {
setTimeout(function(){
el.emit('secondAnimation');
},500);
})
el.addEventListener('animation__scale2-complete', function() {
setTimeout(function(){
el.emit('firstAnimation');
},200);
})
这里的工作小提琴:
请注意,我也会在
loaded
事件上触发第一个动画,以防它在加载之前触发。这太棒了。非常感谢。