如何以Three.js风格编写A-Frame资源?相机代码正确性咨询
以Three.js风格编写A-Frame实体的正确方式
你的代码是完全正确的,和你提供的A-Frame HTML代码实现的功能完全一致。
原A-Frame HTML代码:
<a-camera position="0 0 0" look-controls="enabled: false"></a-camera>
对应的JavaScript实现(你的写法):
let camera = document.createElement('a-camera'); camera.setAttribute('look-controls', 'enabled: false'); camera.setAttribute('position', '0 0 0'); // 必须将实体添加到场景中才会渲染 document.querySelector('a-scene').appendChild(camera);
另外还有更简洁的写法,可以一次性设置多个属性,且用对象格式传递参数更直观:
let camera = document.createElement('a-camera'); // 用对象形式设置位置属性 camera.setAttribute('position', { x: 0, y: 0, z: 0 }); // 用对象形式设置look-controls组件属性 camera.setAttribute('look-controls', { enabled: false }); document.querySelector('a-scene').appendChild(camera);
需要注意:创建实体后一定要将它添加到<a-scene>元素中,否则实体不会出现在3D场景里。
内容的提问来源于stack exchange,提问作者user13511530
相关产品推荐
相关产品推荐

