A-Frame动画无法正常循环:仅运行一次即停止问题求助
解决A-Frame动画循环仅运行一次的问题
你的动画循环中断的核心原因是第一个动画的startEvents属性中,多个事件之间缺少逗号分隔,导致A-Frame无法正确解析animationcomplete__second这个触发事件,第一次播放后无法被第二个动画的完成信号触发,循环就此停止。
修正后的完整代码如下:
<script src="https://aframe.io/releases/1.2.0/aframe.min.js"></script> <a-scene> <a-box height=0.1 width=3 depth=7 position="0 3.5 0" color="#964800" rotation="45 0 0" animation__first="property:rotation; from:45 0 0; to:-45 0 0; dur:300; startEvents:loaded, animationcomplete__second;" animation__second="property:rotation; from:-45 0 0; to:45 0 0; delay:500; startEvents:animationcomplete__first;" <a-cone radius-bottom=1.5 radius-top=1.5 height=1.5 position="0 .75 2" color="#964800"></a-cone> </a-box> </a-scene>
关键调整说明:
- 给第一个动画的
startEvents里的loaded和animationcomplete__second之间加上逗号,确保多个触发事件能被正确识别 - 动画命名用
first/second或1/2都可,只要animationcomplete__[后缀]和对应的动画后缀严格匹配即可 - 无需调整事件顺序,
loaded作为初始触发事件,animationcomplete__second作为循环触发事件的逻辑是正确的
内容的提问来源于stack exchange,提问作者Aiden Shoemaker
相关产品推荐
相关产品推荐

