首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >physics.js吸引子、零重力和减速

physics.js吸引子、零重力和减速
EN

Stack Overflow用户
提问于 2015-12-18 23:18:08
回答 1查看 515关注 0票数 0

我一直在用physics.js中的吸引器做实验,在零重力下装配一个简单的物体,在一点上有一个吸引器。这创造了一个很棒的小“重力井”,正如here所见。

简单的方向量吸引到一个点,在'x':200,'y':200,然后围绕它运行。我正在寻找一种方法来把这个吸引器变成一个更多的重力井,这样被它吸引的物体随着时间的推移就会变慢,最终在吸引器的点上静止不动,直到它再次被鼠标碰撞或拖动。这是一种可能性吗?

当前使用以下命令创建对象:

代码语言:javascript
复制
 var bodies = [Physics.body('convex-polygon', {
  // place the center of the square at (0, 0)
  x: 150,
  treatment : 'dynamic',
  cof: 0.01,
  mass : 1,
  y: 100,
  vertices: [
    { x: 0, y: 0 },
    { x: 0, y: 200 },
    { x: 200, y: 200 },
    { x: 200, y: 0 }
  ]
})];

吸引子是这样创建的:

代码语言:javascript
复制
var attractor = Physics.behavior('attractor', {
    order: 0,
    strength: 0.0005
}).applyTo(bodies);

attractor.position({'x':200,'y':200});

影响吸引器的强度似乎没有帮助,它只是改变了吸引的速度和随后的轨道。

我正在寻找一种方法,有效地增加整个空间的摩擦力,我认为这将自然地减慢物体的速度,使其在吸引点静止不动。不知道如何使用PhysicsJS来解决这个问题。

EN

回答 1

Stack Overflow用户

发布于 2016-05-20 17:57:08

有可能创建自己的吸引子行为:See this documentation.

  • If你不想这样做,你可以将吸引子的选项
  1. 设置为多边形的大小,这样当物体处于吸引子的中心时,力就会停止。强度和顺序是可选选项,因此不需要指定它们(According to the API)。例如,这对你来说应该是可行的:

World.add(Physics.behavior(“吸引器”,{ min: 200,pos:{"x":200,"y":200} }));

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34358731

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档