javascript - 无限期动画结束事件?

标签 javascript animation aframe

每次动画循环时我都试图增加一个计数器:

<a-animation id="mainAnimation" attribute="position" from="2.5 0.5 225" to="2.5 0.5 -225" repeat="indefinite" dur="7500" easing="linear" ></a-animation> 

动画永远不会“结束”,所以我不能像通常那样调用动画结束:

mainAnimation.addEventListener('animationcomplete', function () {
    animationIterations++;
    console.log(animationIterations);
});

有没有什么办法可以在循环重复时收听?谢谢。

最佳答案

首先是<a-animation>元素自 0.9.0 起已弃用并由 animation 取代component .

尽管如此,给动画一次迭代怎么样,当它完成时 - 增加计数器并再次启动动画

mainAnimation.addEventListener('animationcomplete', (e) => {
    animationIterations++;
    console.log(animationIterations);
    mainAnimation.emit('start')
});

您需要定义一个 startEvent对于动画:

<a-box animation="property: position; to: 1 0.5 -3; startEvents: start;
       dur: 500; loop: 1"></a-box>

现在每个 animationcomplete事件,只需发出 start实体上。 查看this fiddle 。

关于javascript - 无限期动画结束事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56080310/

相关文章:

javascript - 在 JavaScript 中显示无效日期

javascript - nodejs/selenium webdriver : Can't move mouse to a required position

javascript - jQuery 是如何完成它的异步动画的?

angular - 向宿主元素添加 Angular 动画

javascript - 动态更新框架中的架构是一种不好的做法吗?如果没有,这可以反射(reflect)在检查员中吗?

javascript - 访问每个外部的数据

javascript - 三星智能电视 SDK 5.1 应用程序开发

javascript - jQuery div 从左到右动画并在暂停后返回

javascript - teleport-controls 在 VR 模式下的 Aframe 0.8.2 下不起作用

aframe - 如何用A型框架制作无限地板?