问题标签 [farseer]
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.
windows-phone-7 - 先知碰撞
我正在使用 farseer 物理引擎来检测 N 个盒子之间的碰撞。其中一个放置在屏幕底部。当您单击屏幕时,会出现其他人。它们出现在某个高度的严格的第一个隔间上。当它们落在一个盒子上时,1 号是碰撞,但盒子的行为就像它们是橡胶一样(物理而不是图像)。在屏幕上,它看起来像一个盒子从下半部分掉下来,然后爬到盒子的顶部。我该如何解决?
box2d - 如何在 Box2D/Farseer 中将地形表示为物理对象
在 Box2D/Farseer 中表示生成的 2D 地形的最佳方式是什么?地形由一些山丘组成——想想一些沙丘。
Farseer 文档中描述了一种从纹理生成多边形的方法:http: //farseerphysics.codeplex.com/documentation(“纹理到多边形”部分)
但实际上我不需要地形作为多边形。我只需要面线。通过多项式表示地形会很棒,但我在 Box2D/Farseer 中找不到对多项式的任何支持。
我是否必须使用 Edges 和 LineArcs 来为我的沙丘建模,或者有什么更适合的吗?
xna - 如何检查玩家是否在具有远见物理的身体上点击?
我需要知道如何在玩家/用户点击特定身体时检查 Farseer Physics,这可能吗?
我必须编写自己的方法吗?
c# - XNA,创建一个带有纹理的 blob'ish 圆圈?
几天前,我开始尝试使用 Farseer,在我看来,这是一个简单而出色的引擎。
但是,现在我想为我的一个 2D 游戏创建一个像 Circle 这样的 blob,但我似乎不知道如何去做以及如何使用纹理。
我所说的 blob 是指我们可以挤压的网球或压力球。
有人能指出我正确的方向吗?对不起,我没有尝试过任何东西,我绝对不知道从哪里开始。
提前致谢!
windows-phone-7 - WP7 Farseer - 围绕点旋转障碍物 - 屏幕中心
我正在尝试用谷歌搜索,但我找到了更多答案,现在我无法得到我想要的。
我有障碍物,首先我想将它设置为世界并围绕障碍物的中心旋转它,然后如果用户触摸屏并且它是自由拖动的,我想围绕他们身体的点旋转障碍物(正好围绕屏幕中心) .
我找到了一些带有旋转关节、固定 RJ、重新计算向量和矩阵的解决方案,但我没有帮助(或者只是我使用错误,我不确定)。我认为应该有一个简单的解决方案,我可以将障碍物的固定中心设置为精确点(屏幕中心),然后为我正在用对象旋转的身体属性旋转添加值。
这就是我加载障碍物的方式:
然后我有输入句柄,我想开始围绕屏幕中心的确切点旋转障碍物:
感谢您的帮助,对不起,我在这方面是初学者。
c# - Farseer 惯性或速度上限
不确定这是否与惯性有关,或者是否是我的代码,但我已经将代码简化了很多,但我找不到它。
场景:我有一个身体,质量为 10(我假设公斤)。我使用 ApplyLinearImpulse 并使用像 (1,0) 这样的向量和像 5 这样的常量将对象向右移动。
问题:它确实向右移动,但似乎被限制了。当我增加馈送到 ApplyLinearImpulse 的值时,LinearVelocity 属性确实会上升,但 Position 的实际变化不会。一旦我调用 world.step(msDelta),LinearVelocity 就会回落到某个微小的值。
我做错了吗,或者是否有基于我的质量的内部上限?
c# - 玩弄Farseer Physics;缩放让我很困惑
我已经将 Farseer 放到我的项目中,并迅速开始使用FixtureFactory.AttachCircle(...)
.
奇怪的是我使用常规像素值来确定圆的半径,并将 1:1 转换为 Farseer 中表示的大小。例如FixtureFactory.AttachCircle(32, 1f, body)
正确转换成直径为 64 像素的圆。
这是为什么?我在谷歌上读到的所有内容都建议不要超过 10(米)并设计自己的规模。
我是否错过了一些设置来定义我的世界的比例?
windows-phone-7 - Farseer - 粒子不会根据边界移动/反弹
我以此为界:
这些是我的小粒子:
我是这样画的:
但我不明白为什么如果我用边界旋转,那么为什么粒子仍然存在。我尝试改变粒子的恢复,当有 1f 时它们恢复(弹跳)好了,我可以用边界旋转,它们从新的边界位置恢复,但是当我有像上面的粒子这样的设置时,那些在边界内的设置他们停在底部边界,其他人则完全倒下。所以在开始后我有第一张图像,在我用边框旋转后我得到第二张图像。我做错了什么?为什么当我更改恢复原状时,它们会以 0.2 反弹,但它们不是?
编辑:迷宫构造函数中的新行:
这是它在调试视图中的样子:
随身体转动:
c# - 时间和距离上的轻微偏移
我正在搭建一个教授基础物理的教学平台。
根据我在 Flash 开发方面的经验,我之前也遇到过类似的问题。
游戏时间与现实世界时间不同。在这种情况下,例如,如果计算机滞后或出于其他原因,弹丸所覆盖的距离可能会更大或更小。
这是该平台的屏幕截图。如屏幕截图所示,我只是在开发一个课程来教授基本的 s = v * t 关系。
必要的背景
红线标记位置 69.06284 m,即我们的目标距离。时间 11.56087 秒是给定值。
用户应该输入一个速度,将弹丸从 0 m 向右移动,以便在给定的时间内到达红线。
当时间到时,绿线标记弹丸的位置。
我可以向您保证,我输入了精确到小数点后 5 位的速度,因此在这种情况下不会出现人为错误。
忽略黄色矩形。它只是一个 UI 元素。
屏幕宽 800 像素,因此 10 像素代表 1 米。
解决问题的方法
坦率地说,我不确定该怎么做。但我从某人那里听说可变时间步更能代表真实世界的时间。但是,Farseer 作为物理模拟引擎,应该是固定时间步长使用的吧?
任何建议将不胜感激。
编辑:在屏幕截图中,弹丸覆盖的实际距离约为 66.3 m,而理论距离为 69.1 m。我还注意到,如果目标距离(当前为 69.1 m)更小(红线向左移动更多),则误差更小。
如何发射弹丸?
在Arrow类中,我基本上是通过一个CreateBody方法来设置Farseer的:
如何计算弹丸的飞行时间?
可能您对 _fireTime = g.SinceGameStart 行感到好奇。因为GameStart 是GameTemplate 中变量_currTime 的getter。_currTime 的值在每次 Update(gameTime) 调用时更新一次。所以如果我想知道弹丸飞行了多长时间,我这样做:
c# - Farseer - 粒子只是穿过另一个身体
我正在像这样创建我的迷宫:
我的沙粒是这样的:
我在调试视图中检查了夹具,它看起来不错。但事实并非如此。当粒子出现在屏幕上时,它们会掉下来(由于重力)并毫无问题地穿过我的迷宫边界,它们会停在有静止物体的底部。这是为什么?为什么粒子不会在我的迷宫中停下来?
有关上下文,请参阅我之前的问题:
Farseer - Particles doesn't move/bounceaccord to borders