javascript - Matter.js 计算所需的力

标签 javascript vector matter.js

我正在尝试对物体施加力。让它以我的鼠标位置相对于对象生成的 Angular 移动。

我有 Angular

 targetAngle = Matter.Vector.angle(myBody.pos, mouse.position);

现在我需要施加一个力,让 body 沿着那个 Angular 移动。 我应该为 applyForce 方法在下面的值中输入什么?

  // applyForce(body, position, force)

  Body.applyForce(myBody, {
    x : ??, y : ??
  },{
    x:??, y: ?? // how do I derive this force??
  });

我要在此处输入什么 x 和 y 值才能让 body 沿着鼠标和 body 之间的 Angular 移动。

最佳答案

要施加力使物体沿该方向移动,您需要以弧度为单位计算 Angular 正弦和余弦值。您只需将对象的位置作为第一个向量传递,而不应用扭矩(旋转)。

var targetAngle = Matter.Vector.angle(myBody.pos, mouse.position);
var force = 10;

Body.applyForce(myBody, myBody.position, {
  x: cos(targetAngle) * force, 
  y: sin(targetAngle) * force
});

此外,如果您需要,applyForce() 上的文档是 here .

(我知道这个问题很老,我或多或少是为偶然发现它的人做的)

关于javascript - Matter.js 计算所需的力,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35827012/

相关文章:

c++ - 在 float vector 中找到众数

javascript - 如何判断两个物体是否与matter.js接触

javascript - 用于碰撞检测的 Matter.js

javascript - React-native-game-engine + Matter.js 动态缩放物体

javascript - 大量 knockout 嵌套可写计算的性能问题

javascript - 无法解码 iOS Objective C 中包含日文文本的 javascript 转义字符串

javascript - asp.net mvc 3从 Controller 操作调用javascript

c++ - 智能指针和 vector C++ 的多态性问题

c++ - 如何从 vector<std::string> 获取 max_element

javascript - Telerik 基本问题