d3.js - aframe vive 控制器未捕获类型错误:hand.getAttribute 不是函数
问题描述
我试图在一个项目的框架中获取和更新 vive 控制器的位置。
我已经尝试使用 d3.js
var hand = d3.select('.con_left');
var pos = hand.getAttribute('position');
console.log(pos);
但它显示了错误
Uncaught TypeError: hand.getAttribute is not a function
解决方案
最新版本的d3-selection属性方法只是attr
var hand = d3.select('.con_left');
var pos = hand.attr('position');
这是一个例子:
setInterval(() => {
const box = d3.select('a-box')
const sphere = d3.select('a-sphere')
box.attr('position', `${-Math.random()/5} ${Math.random()/5} -3`)
sphere.attr('position', `${Math.random()} ${1+Math.random()/5} -5`)
}, 50);
<script src="https://aframe.io/releases/0.5.0/aframe.min.js"></script>
<script src="https://d3js.org/d3.v5.min.js"></script>
<a-scene>
<a-sphere position="0 1.25 -5" radius="1.25" color="#EF2D5E"></a-sphere>
<a-box position="-1 0.5 -3" rotation="0 45 0" width="1" height="1" depth="1" color="#4CC3D9"></a-box>
<a-cylinder position="1 0.75 -3" radius="0.5" height="1.5" color="#FFC65D"></a-cylinder>
<a-plane position="0 0 -4" rotation="-90 0 0" width="4" height="4" color="#7BC8A4"></a-plane>
<a-sky color="#ECECEC"></a-sky>
</a-scene>
推荐阅读
- python - 如何在python中循环未知数量的桶?
- express - 如何建立具有多个页面和单页面应用程序的网站?
- python - 如何使用 python3 将更改的模式 json 插入到 mysql 中?
- android - Unity 使用 DirectX 还是 OpenGL?
- c - 如何将十进制数字转换为二进制,将二进制数字保存在数组中?
- bash - 将文件从 node1.html 重命名为 node001.html
- c# - 使用 ASP.NET core Identity 时,最好扩展 User 类或编写与之相关的单独实体
- typescript - 使用 TypeScript 进行依赖注入
- react-native - 调度登录操作时,firebase.auth 不是函数
- android - 改造 2 不填充 RecyclerView