我正在尝试创建一个X射线管的模拟,在那里你可以改变电流或电压,并观察对电子和光子的影响。我已经将电子设置为带有aframe- particle - system -component的粒子系统。(https://www.npmjs.com/package/aframe-particle-system-component/v/1.1.3)现在,我正在尝试使用滑块更改粒子系统。问题是滑块的输入会被注册,但它对场景中的粒子系统没有影响。
对我来说奇怪的是,当我在EventListener外部调用setAttribute()函数时,粒子系统会发生变化。但它在一开始只改变了一次,这对我没有帮助。
当我在控制台中检查实体时,实体的DOM确实得到了更新,并显示了新的大小值。甚至aframe检查器也会显示更新后的大小。但场景中的实际粒子系统仍然显示我在html文件中设置的大小。
下面是我用来做这个的js代码:
var elektron = document.querySelector('#ParticleSystem');
var scene = document.querySelector('a-scene');
//Var for the two sliders
var rangeCurrent = document.querySelector('#rangeCurrent');
var rangeVoltage = document.querySelector('#rangeVoltage');
var current = rangeCurrent.value;
var voltage = rangeVoltage.value;
//EventListener for the slider
rangeCurrent.addEventListener('change', function(){
current = rangeCurrent.value;
elektron.setAttribute('particle-system', {size: current});
});没有错误消息。
我已经被这个问题困扰了一整天,如果有人能帮助我,我会非常感激的!
发布于 2019-05-20 15:11:50
我终于让它工作了!!在粒子系统组件脚本的ParticleSystem ()函数中,它们不会使用您使用setAttribute定义的新数据启动新的更新。我试着自己修了一段时间,但就是不能让它工作。因此,我使用了粒子系统组件的早期版本1.12,现在它可以工作了。
https://stackoverflow.com/questions/56209117
复制相似问题