У меня есть кинокартина на 360 градусов, и я пытаюсь сделать это, когда вы нажимаете на что-то, изображение смешивается с одного светлого кинокартины на темное кинокартину, поэтому кажется, что свет гаснет. Некоторые идеи, как я кодирую это в js-функции?
<a-scene>
<a-assets>
<img id = "cinema" src = "cinema360degree.png">
<img id = "cinema_dark" src = "cinema360degree_dark.png">
<img id = "button" src = "playbutton.png">
</a-assets>
<a-image id = "playit" src = "#button" width = "4" height = "4" position = "-28 5 15" rotation = "0 90 0" onclick = "startmovie()"></a-image>
<a-sky src = "#cinema"></a-sky>
<script type = "text/javascript">
function startmovie() {
//blend cinema into cinemadark
// i got this but it only change it. Its not blending:
//document.getElementById('skyid').setAttribute('src', '#cinema_dark')
}
</script>
</a-scene>
хорошо, я стараюсь быть более конкретным, спасибо



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Я бы сделал две сферы, одну с текстурой «день», а другую с текстурой «ночь»:
<a-sphere id = "day" radius = "100" material = "side: back"></a-sphere>
<a-sphere id = "night" radius = "101" material = "side: back"></a-sphere>
И используйте компонент анимации, изменив непрозрачность дня на 0:
Js:
AFRAME.registerComponent("foo", {
init: function() {
document.querySelector("#day").addEventListener("click", (e) => {
this.el.emit("fadeout")
})
}
})
HTML:
<a-sphere id = "one" foo animation = "property: material.opacity; to: 0;
delay: 500; startEvents: fadeout;"></a-sphere>
Привет, Delidragon, было бы полезно, если бы вы могли предоставить код, который у вас уже есть, вместе с перечислением того, что вы пробовали. На данный момент ваш вопрос слишком общий и, скорее всего, будет помечен и закрыт модератором. stackoverflow.com/help/mcve