问题标签 [physicsjs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
81 浏览

javascript - 设置身体的比例并具有位图匹配缩放

我想知道是否有办法获取和设置physicsjs 身体的比例,并将位图分配给身体比例的视图。我看不到在状态或几何对象中对比例的引用,并且尝试设置宽度或高度没有效果。

我想增加身体的比例和分配给它的视图的位图。

0 投票
0 回答
37 浏览

physicsjs - PhysicsJS:身体在滑下时紧贴另一个身体的角落

所以,我正在制作一个小型 2D 平台游戏。我有一个平坦的“塔”,由几个静态块相互站立,另一个动态体(玩家)跳到塔顶并向下滑动,与它发生碰撞。但是滑动非常粗糙,因为玩家一直紧抓着塔内任何一个方块的顶角。

工作示例:http ://rogovoy.me:3001 。只需尝试跳到右侧的墙上并按住“向右移动按钮”即可。控制:W、A、D 或箭头。restitution 和 cof 为 0。

我知道它发生的原因,但我不知道如何解决它。

资料来源:https ://github.com/flashhhh/gippo-jump-game

0 投票
1 回答
599 浏览

javascript - 在 Physicsjs 中的固定位置制作身体

我试图制作一个乒乓球类型的游戏,我想让身体中的矩形固定在那个位置作为一堵墙,但是当一些物体撞击它时,由于物理原因会反弹,所以有人可以帮忙我要关闭该对象(矩形)物理,使其保持固定在该点

0 投票
1 回答
125 浏览

javascript - 生成砌体布局,然后对其应用重力

这是一个奇怪的问题,我一直在绞尽脑汁。

我想按顺序做两件事:

  1. 从 div、img 或其他列表中生成砌体式布局。这些将使用图像,但它们可以是背景图像,在 div 内,或其他一些有效的方法。这可以是纯 CSS 或 jquery 插件。

  2. 生成网格后,将基于物理的插件(如“.throwable”)应用于各个 div/对象。这些物体会相互碰撞,但总体上会保留它们的结构,就像你在愤怒的小鸟或其他东西中看到的那样。

这里的目标是粘贴一个 div 列表,让 jquery 插件甚至纯 CSS 自动找出如何对齐它们,然后将重力应用于砖石网格。

我一遍又一遍地遇到的问题是生成了砌体网格......但是当我对其应用物理系统时,各个对象会迅速回到不同的位置。我认为砌体希望它们是“相对的”,而物理系统希望它们是“绝对的”?没有把握...

如果有人想了解我正在尝试的内容,我在这里有我最新尝试的粗略版本:http: //cssdeck.com/labs/full/f5dm0zv8

0 投票
1 回答
188 浏览

physicsjs - 允许特定物体与边缘碰撞,但不允许与其他固定物体碰撞

我正在使用边缘碰撞检测行为来添加与视口边缘的碰撞,并使用 body-impulse-response 行为来响应这些碰撞,因此碰撞的物体将从“墙壁”反弹。

但是,我似乎无法让 body-impulse-response 仅适用于给定的物体和边缘(body-impulse-response 显然没有 applyTo 方法?),所以现在即使我没有,物体也会与其他固定物体发生碰撞也不想要他们。

我该如何解决这个问题?

谢谢!

0 投票
1 回答
2056 浏览

javascript - 解决 webpack 中的外部子模块依赖

我正在尝试在我的 webpack 项目中包含一个模块化的第三方库(PhysicsJS )。这个库是 AMD 和 CommonJS 友好的,并且有我想要访问的格式良好的子模块。然而,它主要是为 RequireJS 构建的,通过它在 中的packages定义规范require.config(),所以入口点不是标准的index.js。相反,入口点是physicsjs.js.

换句话说,我似乎无法弄清楚如何配置 webpack 来解析库的主文件及其子模块。看起来如果图书馆的入口点不是index.js并且它有子模块,那么你就不走运了,我简直不敢相信这是正确的,所以我一定遗漏了一些东西。

那么,如何做出以下陈述来解决呢?

我已经尝试过这个配置的变体:

目录结构如下所示:

请注意,PhysicsJS 确实有整个库的缩小版本,如果没有其他选择,我将使用它,但我宁愿只加载我实际使用的内容。

此外,子模块本身使用require('physicsjs'),所以调用require('physicsjs/physicsjs')不是解决方案

0 投票
2 回答
1152 浏览

html - 使用传感器改变物理引擎中的重力

我正在寻找一种在移动设备中(在 Cordova 应用程序中)使用传感器来改变物理引擎行为的方法。目前正在使用 PhysicsJS,但也发现 matte.js 作为物理引擎的候选者。

第一步,引擎的重力应该改变,所以它不是使用设备的 y 方向,而是取决于设备如何旋转的“真实”方向。后来(可选)z 方向也可以用来改变物理引擎的世界。

任何人都可以给我提示和/或示例吗?

  • 要读取什么传感器(方向、加速度计、陀螺仪、重力,?)。体面的智能手机/浏览器中是否集成了 HTML5 支持,还是添加 Cordova 插件更好?
  • 应用物理引擎的哪些更改以反映移动设备的新位置

环境:Cordova、Ionic、HTML5、Android >= Kitkat、iOS >= 7

到目前为止我自己的发现:

我想这是deviceorientation最适合我的要求的事件。一个非常原始的实现(并不令人满意)是这样的:

似乎更好的选择是计算设备关于 x、y 的角度,然后将重力矢量分成 x 和 y 部分。也许它甚至更复杂。这对我来说听起来像是很多数学运算。肯定已经有成百上千的人这样做了,请你帮帮我好吗?

所以现在剩下的更具体的问题是:

如何在 2D 物理引擎中将 DeviceOrientationEvent beta 和 gamma 转换为重力?

0 投票
0 回答
206 浏览

javascript - 我无法获得使用physics.js 0.7.0 运行的示例

我发现这个例子适用于physics.js 0.6.0 http://jsfiddle.net/REGCU/22/

但我无法让它与 0.7.0 http://jsfiddle.net/REGCU/23/一起使用

javascript:

而且我没有收到任何错误消息(只是输出没有任何反应)。

我也能够在我的计算机上运行 0.6.0 版本,但对于 0.7.0 版本有类似的非结果。

关于我需要改变什么的任何想法?

0 投票
2 回答
264 浏览

physicsjs - 通过使用 PhysicsJS 更改其位置来移动身体

我可以通过改变它的 state.pos 和它的 state.old.pos 来将一个身体移动到一个特定的点。但它似乎失去了它的速度(我想还有加速度)。

这样做:

有更好的方法吗?我怎样才能改变它的位置并保持其他一切不变?

文档中有关于它的内容吗?我找不到它。

0 投票
1 回答
530 浏览

javascript - physics.js 吸引子,零重力和减慢速度

我一直在用physics.js 中的吸引子进行实验,在零重力下装配一个简单的物体,在一个点上有一个吸引子。这会产生一个很棒的小“重力井”,如图所示

简单的方形矢量吸引到点 处'x':200,'y':200,然后围绕它运行。我正在寻找一种方法将这个吸引子变成更多的重力井,以便吸引到它的物体随着时间的推移减慢并最终在吸引子的点处静止不动,直到它与它发生碰撞或被拖动再次鼠标。这是一种可能吗?

目前该对象是通过以下方式创建的:

吸引子是这样创建的:

影响吸引子的强度似乎无济于事,它只会改变吸引子的速度和随后的轨道。

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