Изменение анимации 'на' в js не работает при генерации события для запуска эффекта

Я пытаюсь воспроизвести короткую анимацию поворота для этого родительского объекта камеры. У меня есть следующая а-анимация:

<a-animation attribute="rotation" dur="1000" to="0 163.5761975835419 0" fill="forwards" begin="rotateCam"></a-animation>

Затем я пытаюсь установить атрибут «to» до выдачи rotateCam (с animation.setAttribute (...)), но он воспроизводит только вращение по умолчанию, которое я установил в HTML. Я что-то упускаю?

См., Например, эту скрипку. v0.5.0.

Спасибо за уделенное время.


person Paulo Filho    schedule 17.02.2017    source источник


Ответы (1)


После некоторого исследования и разговора с dirkk0 об A-Frame Slack стало ясно, что они собираются использовать компонентный подход. Я изменил свой код, чтобы применить компонент анимации ngokevin, и это решило мою проблему! :)

Соответствующий тест (AFrame v0.5.0)

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);
person Paulo Filho    schedule 20.02.2017