我想将自定义 HTML 元素呈现为 Matter.js 中的正文。我在 React 中使用它会增加一些复杂性,但这与我的问题无关。
我已经搜索了很多,我找到的唯一示例是这里的这个,它似乎querySelector
用于选择存在于 HTML 代码中的元素,然后以某种方式在矩形形状内使用它们。
似乎正在做这项工作的部分如下:
var bodiesDom = document.querySelectorAll('.block');
var bodies = [];
for (var i = 0, l = bodiesDom.length; i < l; i++) {
var body = Bodies.rectangle(
VIEW.centerX,
20,
VIEW.width*bodiesDom[i].offsetWidth/window.innerWidth,
VIEW.height*bodiesDom[i].offsetHeight/window.innerHeight
);
bodiesDom[i].id = body.id;
bodies.push(body);
}
World.add(engine.world, bodies);
(VIEW
那里的变量可能只是随机数,因为它们定义了形状)
但是,我无法理解如何在 Bodies 矩形内传递 HTML 元素,如上例所示。
理想情况下,我想让复杂的 HTML 元素与物理世界交互(比如一个带按钮的小盒子等)。
关于如何实现这一目标的任何想法?或者,您能否解释一下示例中使用的似乎已经管理它的方法?