我向这个添加了一个名为testObj的主体
const testObj = Bodies.rectangle(200,200,40,40,)
World.add(engine.current.world, [
Bodies.rectangle(cw/2, 0, cw, 20, { isStatic: true }),
Bodies.rectangle(cw/2, ch, cw, 20, { isStatic: true }),
Bodies.rectangle(0, ch/2 , 20, ch, { isStatic: true }),
Bodies.rectangle(cw, ch/2 , 20, ch, { isStatic: true }),
testObj,])
我有一个像这样的按钮
<Button onClick={changeTexture}>change</Button>
所以当我点击这个按钮时,我想将testObj的纹理更改为图像。
(附言-如果这很重要的话,我正在用React构建这个网站。我正在使用useEffect钩子来渲染东西。(
更新
好吧,所以我确实找到了一种方法。基本上我应该可以testObj2.render.sprite.texture = './Images/Ellipse.png'
并更改纹理,但我得到了这个错误。(我可以用render.fillStyle="红色"来更改颜色,但不能更改精灵纹理(
Uncaught DOMException: Failed to execute 'drawImage' on 'CanvasRenderingContext2D': The HTMLImageElement provided is in the 'broken' st
然后我发现了一个关于这个的GitHub问题。这个答案解决了问题。
https://github.com/liabru/matter-js/issues/497#issuecomment-519113260