JavaScript,Matter.js : Increase radius of circle

标签 javascript physics-engine matter.js

我有一个小示例脚本,其中有一个圆圈(半径:40),它会掉到地上。但是当我将它的半径增加到 80 时,似乎只有圆的图形发生了变化,但物理没有变化:

<html>
<body></body>
</html>
<script src="matter.js"></script>
<script>
var Engine = Matter.Engine,
    World = Matter.World,
    Bodies = Matter.Bodies
engine = Engine.create(document.body,{render:{options:{wireframes: false}}})
engine.render.options.background = "#7f7f7f"
ground = Bodies.rectangle(400,590,800,20,{isStatic:true})
World.add(engine.world, ground)
circle = Bodies.circle(400,20,40,{render:{fillStyle:"#0000ff"}})
World.add(engine.world, circle)
Engine.run(engine)
setTimeout(increaseRadius, 1500)

function increaseRadius(){
  circle.circleRadius = 80
}
</script>

enter image description here

最佳答案

我的猜测是,对于您的方法,您还必须再次调用 World.add(engine.world, circle) 并且可能会删除先前半径较小的圆,因为引擎使用该圆的副本。 或者,您可以在主体上调用缩放方法:http://brm.io/matter-js-docs/classes/Body.html#method_scale

关于JavaScript,Matter.js : Increase radius of circle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32682573/

相关文章:

javascript - Chrome 应用无法最大化

javascript - 将 yyyy-mm-dd 转换为星期二 25 日

javascript - Matter.js 禁用不同复合 Material 之间的碰撞

javascript - 按名称访问 XML DOM 子节点

javascript - 为什么用 react 钩子(Hook)过滤状态数组不起作用但过滤原始数组却起作用

iOS滑动距离与加速度计

javascript - 如何使 d3.js 强制布局重力矩形?

javascript - b2DebugDraw 和 b2ContactListener 是否已在 liquidfun.js 中被替换?

javascript - 如何在 Matter.js 中使物体掉落?