javascript - 无限期动画结束事件?
问题描述
每次此动画循环时,我都试图增加一个计数器:
<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 开始不推荐使用 element 并由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
中检查一下。
推荐阅读
- python - Swap 和 Sun,自定义测试用例通过,但内置运行时错误,为什么?
- python - 如何正确连接用python中的循环提取的3个数据帧?
- debugging - 在 VS 代码中调试 C++ 期间无法在外部控制台中输入输入
- authentication - context.HttpContext.Request.Headers["Authorization"] 返回空值
- camera - 一加6T的FOV?
- windows - Windows 终端/Powershell 智能感知
- c++ - 最小堆比较器
- python - 带有 EndUser 模型的任务模型
- unity3d - 为什么矢量和 OnMove 函数采用不同的轴?
- typescript - STRIPE + TypeScript:TypeError:stripe_1.default 不是构造函数