问题标签 [box2d]
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.
actionscript-3 - Box2D中下落的物体应该由于质心而旋转?
我正在尝试在 Box2DAS3 中模拟下落的气球。重要的是,如果气球侧向撞击或以一定角度掉落,则气球会下落,以至于您将其吹起的底部会朝底部旋转。
替代文字 http://lh4.ggpht.com/_gjsCWAV_CZc/Sw7zqHahTJI/AAAAAAAAC3s/YIJka4AsM5s/s144/Untitled.jpg
我尝试过偏移身体的质心,并将两个身体连接在一起,其中较密的一个代表领带。在这两种情况下,身体都以相同的角度下落而不旋转。
mouse - Box2d:无惯性延迟的鼠标关节
我正在使用mousejoint 在box2d 中拖动物体,但这会导致惯性延迟。
有没有办法瞬间拖动身体?
iphone - box2d:更大的可点击/可触摸区域
我在使用 Cocos2D 的 iPhone 应用程序上使用 Box2D。我正在使用鼠标关节通过触摸拖动对象。处理触摸事件以使用 AABB 查询找到相应的 Box2D 主体。
我想扩展 Box2D 物体的面积。通过这种方式,我可以大致触摸我的身体并且仍然有反应。
有没有办法做到这一点?谢谢!
actionscript-3 - Box2D Walls - 相同的代码:左边的有效,右边的无效
我正在制作一个简单的 Box2D 游戏 ( http://iwanttobeacircle.com ),您从三角形开始,然后从较大的形状反弹以获得边。
我的墙有一个奇怪的错误......两者都是从同一个类创建的,但是左边的有效而右边的无效。如果我只添加正确的,那么它可以工作,但由于某种原因,添加它们似乎会在某处引起问题。
WallSegment 类如下:
为了保持关卡动态,每次在主类中,墙壁都绘制在玩家对象的前面,使用以下代码:
我收到此错误:
TypeError:错误#1010:术语未定义且没有属性。在 com.carmstrong.iwanttobeacircle::GameContactListener/Add() 在 Box2D.Dynamics.Contacts::b2CircleContact/Evaluate() 在 Box2D.Dynamics.Contacts::b2Contact/Update() 在 Box2D.Dynamics::b2ContactManager/Collide()在 Box2D.Dynamics::b2World/Step() 在 com.carmstrong.iwanttobeacircle::IWantToBeACircle/everyFrame()
其中指的是GameContactListener类,如下图(add函数在底部):
我会很感激任何想法或想法。此外,这是我在 Box2D 的第一次尝试,所以如果有任何关于如何让我的代码更高效的提示,我将不胜感激。
提前致谢
cocos2d-iphone - Cocos2d + Box2d 或 Chipmunk
好的,我正在尝试制作我在这里制作的游戏的 iphone 版本http://scratch.mit.edu/projects/techy/781198是 box2d 或花栗鼠更好,每个都有一些教程
objective-c - GetBodyCount() 在 Box2d 中总是返回 0?
我正在使用 cocos2d-iphone + Box2d 引擎,我在 Box2d 中有一个简单的调用来创建一个主体:
然后我通过以下方式打印新增加的身体计数变量:
但是,GetBodyCount()
总是返回0
?我知道 body count 变量正在递增,因为当我调试并进入时CreateBody(..)
m_BodyCount
正在递增,并且我的检查员1
恭敬地返回。我不明白如何world->GetBodyCount()
简单地运行 areturn m_BodyCount
会失败并返回 0?
希望有人能帮忙!干杯。
我正在使用 SVN 版本。r31
格雷厄姆
flash - 绘制调试数据时,Flash 中的 Box2D 运行得更快
我用 Box2d for AS3 创建了一个小游戏 - 我将精灵附加到舞台上,它们从底层的 Box2d 世界中获取位置。这些精灵大多是PNG。
当游戏运行时每次更新都会调用 DrawDebugData(),它运行良好且流畅。但是,当我对此发表评论时,它运行不稳定。在这两种情况下,我所有的精灵都被渲染了。因此,当它额外绘制调试数据时,它似乎运行得更快(即我的精灵在两种情况下都在屏幕上!)
这是怎么回事?绘制调试数据是否会触发某种“快速渲染”开关?如果是这样,开关是什么!?我在 Box2D 代码中看不到它。
有趣的是,如果我将调试绘制比例设置为与我的世界比例不同的东西,它会减慢到 19fps。所以当它在我的精灵下绘制盒子时会发生一些事情,导致它运行得更快..
干杯,
盖伊
xna - Farseer 还是 Box2D?自上而下的射击物理实现
其中哪一个更适合自上而下的射手?
我听说 Box2D 的性能更快,但我也注意到它缺乏对 XNA 的更广泛的社区支持(它似乎被用于闪存 - 原因我不知道)。
然而,Farseer 是为 XNA 构建的,似乎很适合它并且性能很好。在我看来,Farseer 的优势还在于它干净、易于使用的 API(也非常适合我的游戏引擎的结构)。但是我担心如果我使用它会有一些缺点(子弹和高速物体?奇怪不是数字崩溃吗?)
总的来说,如果您能指出哪一个更适合 XNA/PC 开发,我将不胜感激。
我需要这个的原因:
- 它不会仅用于一个自上而下的射击游戏,它旨在与游戏框架集成。
- 即使是自上而下的射击游戏也会在具有更好碰撞、逼真物理的环境中更具吸引力——例如,您可以移动一个盒子来进入掩体?
- 以像素完美的方式手动控制碰撞将太昂贵(我没有时间优化它 - 如果存在具有高级碰撞检测算法的高性能物理引擎,我也不需要它),而边界框碰撞是一种方式到不现实。
我现在应该用你的意见来回答吗?请保持直截了当,并告诉我使用 Farseer 而不是 Box2D 是否犯了错误的一步?(我不得不在等待答案的同时开始工作。)
提前致谢
c# - C# XNA Box2d:ApplyImpulse() 行为令人惊讶
我正在尝试移动身体:
奇怪的是,只有松开按键时身体才会移动。为什么是这样?我一直在看手册,但无法弄清楚。
当我删除条件时,只需applyImpulse()
调用 in Step()
,火箭就会不断地显示推进器的动画,但实际上并没有移动。(好像我一直按住向上键一样。)
看起来我真正需要的是更好地理解第一个参数的applyImpulse()
作用:
向量中的两个值的意义是什么?
更新这工作得更好:
看起来如果力向量中的第二个值是负数,物体就会在屏幕上升起。之前,施加的脉冲只是将它撞到地板上。当我松开钥匙时,它有时会弹回来,如果冲动足够强的话。
c# - C# XNA Box2d:布娃娃的关节是什么样的?
我想用一堆尸体做一个布娃娃。我想连接什么样的关节?距离关节?