我试图为这个父相机实体播放短旋转动画。我有以下动画:
<a-animation attribute="rotation" dur="1000" to="0 163.5761975835419 0" fill="forwards" begin="rotateCam"></a-animation>
然后,我尝试将&#39;设置为&#39;在发出rotateCam之前使用属性(使用animation.setAttribute(...)),但它只播放我在HTML中设置的默认旋转。我错过了什么吗?
例如,请参阅此fiddle。 v0.5.0。
感谢您的时间。
答案 0 :(得分:0)
经过一些研究并在A-Frame Slack上与dirkk0交谈后,很明显他们会采用基于组件的方法。我已经改变了我的代码以应用ngokevin的动画组件,它解决了我的问题! :)
HTML:
<a-scene>
<a-sphere position="0 1.25 -5" radius="1.25" color="#EF2D5E"></a-sphere>
<a-box position="-1 0.5 -3" width="1" height="1" depth="1" color="#4CC3D9" animation="property: rotation; dur: 1000; startEvents: rotateBox"></a-box>
<a-cylinder position="1 0.75 -3" radius="0.5" height="1.5" color="#FFC65D"></a-cylinder>
<a-plane position="0 0 -4" rotation="-90 0 0" width="4" height="4" color="#7BC8A4"></a-plane>
<a-sky color="#ECECEC"></a-sky>
</a-scene>
JS:
setTimeout(() => {
let box = document.querySelector('a-box');
box.setAttribute('animation', 'to', '0 20 0');
box.emit('rotateBox');
}, 2000);