Имейте в виду, что изменение свойств CSS не повлияет на визуализируемые объекты.Лучший способ изменить свойства - использовать entity.setAttribute("attribute", "value")
Я не уверен, что вы можете сделать переключение (видимое / невидимое) с помощью компонента набора событий, но вы можете сделать объектвидимый или невидимый, установив атрибут visible:
<a-entity event-set__click="_target: a-cylinder; visible: false;"></a-entity>
проверьте его здесь .
Но я бы порекомендовал создать компонент в виде рамки.Вы можете проверить их в документах , в этом случае это выглядит так:
AFRAME.registerComponent("foo", {
init: function() {
this.el.addEventListener("click", (e) => {
let cylinder = document.querySelector("a-cylinder")
cylinder.setAttribute("visible", !cylinder.getAttribute("visible"))
})
}
})
HTML:
<a-entity foo>
довольно просто:
1) Бит AFRAME.registerComponent("foo"
«объявляет» компонент.
2) Функция init: function()
выполняется при инициализации компонента
3) Внутри слушателя щелчка я сделал простой переключатель, который устанавливает видимость, противоположную фактическому значению.Если он видим, переключите его на! Visible = false.
Проверьте это здесь .