问题标签 [box2dweb]
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.
javascript - 在 box2dweb.js 中应用强制
我正在尝试对我创建的身体施加力。但我似乎无法做到这一点。这是我正在创建的身体:
我想施加一个力使身体向左移动。目前我正在尝试这个:
这没有做任何事情。我究竟做错了什么?
javascript - Box2dweb 禁止移动
我现在在 box2d 中创建了一个对象,并使用键盘输入移动它。接下来我想做的是停止这个身体可以进行的垂直运动。换句话说,它应该能够左右移动,但不能上下移动,即使与另一个物体发生碰撞也是如此。
我创建盒子的代码:
键盘输入:
和我的更新功能,其中身体数组中名为“玩家”的框被移动
所以我想禁止我的身体[“玩家”]身体上可能发生的所有垂直运动,我该怎么做。
我现在使用的是 Prismatic 关节,但是当我尝试将其中一个物体设为静态物体时出现错误:
身体的创建[“左”]:
javascript - 如何避免 box2dweb 中的重影碰撞
我正在使用 box2dweb 创建游戏,但希望在我的游戏中有一个不平坦的地面。但是,box2dweb 不是最新的,并且不包含用于修复重影碰撞的边缘链。
目前,我的地面看起来像这样: http: //gyazo.com/db00ef9f6bda6bfc48fd733509af8b1c.png
它由 b2polygon 边组成,但在边相交的点仍然存在重影碰撞。有没有其他方法可以防止重影碰撞而不剪掉矩形上的角或将我的形状变成圆形?
box2d - 碰撞后保持物体的恒定速度
我有几个圈子在移动。我设置了linearVelocity
每个圆圈的。但是当它们碰撞时,它们的速度会发生变化。有时,速度的垂直分量或水平分量或两个分量都变为零,并且圆不移动。
我对所有物体都有相同的恢复系数,零重力和零角度和线性阻尼。
然而,圆的半径发生了变化。当半径相等的圆也相撞时,速度也会发生变化。
javascript - 努力使对象始终跟随 box2dweb 中的鼠标
我正在尝试学习如何使用 box2dweb 并希望有一个对象(在本例中为一个圆圈)始终跟随鼠标,而不仅仅是在拖动时。这个想法可以用于空气曲棍球类型的游戏,其中圆圈是你的桨。
然而,圆并没有正确地附着在鼠标上,而是围绕鼠标光标所在的点摆动,并且如果其中一个对象是鼠标光标,它的行为更像是距离关节。
我不知道我做错了什么,但我还是新手,所以任何帮助都将不胜感激。
你可以在这里看到我到目前为止的代码(基于演示代码):http: //jsbin.com/ejafoj/1/edit
javascript - 为什么物体没有锚定到棱柱关节
我正在创建一堆随机对象并将它们约束到一个带有棱柱关节的固定体(圆)。目标是让他们滑向那个固定的圆圈。
问题是 - 物体从关节边缘掉落,因为它们似乎没有锚定。
我究竟做错了什么?
js小提琴:http: //jsfiddle.net/Jk5VD/7/
js:(联合代码直接去Physics.prototype.connectToCenterWithJoint)
javascript - 画架JS - 在确定的动作上模拟较低的FPS
有任何方法可以创建像这样重复的帧,上面:
在命中时重复每一帧两次,以模拟在命中动作时出现的较低 FPS!
javascript - 如何在 JavaScript 中从内存中删除对象?
我正在使用 EaselJS 和 Box2DWeb 创建一个射箭游戏。每次箭头与另一个物体碰撞时,它就会死掉,我调用这个函数:
和 removeActor 函数:
我尝试不断创建箭头并检查内存是否已被释放(使用 chrome 任务管理器),但使用的内存只会增加。有没有办法让我从内存中完全删除这些对象?
box2d - box2dweb 和 kineticjs:更新率低
伙计们;)
我用 box2dweb 和 kineticjs 做一个基本的动画。这两个框架都很棒。这是我在做什么的预览:http: //lab.devgf.com/boxkinetic/index_v.htm
当我在 Google Chrome 或 Safari(桌面)中看到它时,它真的很好用。高达 60 帧/秒。当我使用 iPad 的 Safari 加载此页面时,问题就开始了。
如果我使用 iPad mini 或 iPad 2(甚至 iPad 1),它会以“可接受的”速度运行。甚至在 Adobe DPS 内部。但如果 iPad 是视网膜模型(或 iPhone 5),则没有速度。太可怕了,看起来像“冻结”。
有人可以帮助我吗?我应该怎么做才能获得良好的帧速率(或 KineticJS 循环中的不同方法)以使其像在桌面或没有视网膜显示设备中一样工作?
box2dweb im 使用的主要代码在此文件中:http: //lab.devgf.com/boxkinetic/js/tgf/gfbox2d.js
KineticJS 的主要代码在这里: http ://lab.devgf.com/boxkinetic/js/Main.js
任何帮助都值得赞赏。
谢谢你。