Я пытаюсь анимировать плоскость в A-кадре с a-animation
компонента a-animation
или компонента aframe-animation после того, как пользователь нажимает на текстовое поле. Я хочу повернуть плоскость в вертикальное положение, чтобы пользователь упал. Анимация работает без прослушивателя событий, но она не срабатывает, когда я добавляю startEvents
или begin
атрибуты в a-entity
содержащий плоскость. Событие, называемое fallclick
, испускается из текстового a-entity
называемого fallSelector
когда он fallSelector
.
Вот раздел моего кода HTML:
<a-entity
static-body
id="plane"
rotation="-90 0 0"
geometry="primitive: plane; width: 2; height: 2"
<!-- animation="property: rotation; to: 0 0 0; delay: 500; startEvents: fallclick;" -->
>
<a-animation attribute="rotation" to="0 0 0" delay="500" dur="1000" begin="fallclick" ></a-animation>
</a-entity>
Вот код события JavaScript:
fallSelector.addEventListener('click', function () {
fallSelector.emit('fallclick');
console.log(fallSelector + ': Emit fallclick');
});
1) для компонента <a-animation>
, вам нужно передать событие в примитиве анимации:
<a-animation id="my-animation" begin="foo"></a-animation>
<!-- js: my-animation.emit("foo") --!>
2) для компонента анимации вам нужно передать событие на объект, содержащий анимацию
<a-entity id="bar" animation="startEvents: foo"></a-entity>
<!-- js: bar.emit("foo") --!>
живая сцена здесь