box2d:更大的可点击/可触摸区域
我在使用 Cocos2D 的 iPhone 应用程序上使用 Box2D。 我使用鼠标关节通过触摸来拖动对象。 处理触摸事件以使用 AABB 查询找到相应的 Box2D 主体。
我想扩展 Box2D 主体的面积。这样,我可以触摸我的身体并仍然做出反应。
有没有办法做到这一点?谢谢!
I'm using Box2D on my iPhone app using Cocos2D.
I'm using mouse joint to drag objects by touch.
The touch event is handled to find the corresponding Box2D body using AABB queries.
I would want to extend the area of Box2D bodies. In this way, I can touch approximately my body and still respond.
Does it exist any way to do this? Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您在 AABB 查询中使用的 b2AABB 对象是一个矩形;只是让它变大。
您还可以在鼠标指针下方放置一个具有合适半径的传感器圆圈。这比 AABB 查询更准确,因为它会触发实际的形状碰撞,而不仅仅是告诉您哪些边界框重叠。
The b2AABB object you use in the AABB query is a rectangle; just make it bigger.
You can also place a sensor circle with a suitable radius under the mouse pointer. This is more accurate than an AABB query, since it triggers on actual shape collisions rather than just telling you which bounding boxes overlap.
如果您制作一个比 Box2D 对象更大的不可见对象并使用它来感应触摸,会怎么样?使其成为 Box2D 对象的父对象。然后您可以将未处理的事件传递到您的 Box2D 主体。
What if you made an invisible object that is the larger that your Box2D object and use that to sense the touch. Make this the parent of your Box2D object. Then potentially you can pass the unhandled events down to your Box2D body.