- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要在 JBox2D android 游戏中碰撞后摧毁一具尸体。我发现当 body 接触时,JBox2D 世界会被锁定。我想在碰撞后摧毁其中一具尸体。世界解锁后我能接到任何回电吗?我找到了一个选项,可以将 body 添加到数组中以销毁它。但是什么时候摧毁 body ?。我没有在这个游戏中使用 andengine/libgdx。在下面找到我的碰撞监听器类,
private class CollisionListener implements ContactListener {
@Override
public void beginContact(Contact contact) {
Object fixtureA = contact.getFixtureA().getUserData();
Object fixtureB = contact.getFixtureB().getUserData();
Body mBodyA = contact.getFixtureA().getBody();
Body mBodyB = contact.getFixtureB().getBody();
if (fixtureA instanceof Bullet) {
destroyBalloonBody(mBodyB);
}
if (fixtureB instanceof Bullet) {
destroyBalloonBody(mBodyA);
}
}
@Override
public void endContact(Contact contact) {
}
@Override
public void postSolve(Contact contact, ContactImpulse contactImpulse) {
}
@Override
public void preSolve(Contact contact, Manifold manifold) {
}
}
public void destroyBalloonBody(Body balloon){
//Can i start a new thread which is having a loop until the world become release for destroying the body
//Or
//Do i need to add the body to a deletionArrayList to destroy it.
}
最佳答案
我认为问题在于您正试图在碰撞回调期间移除主体。
来自 Box2D 手册:
It is tempting to implement game logic that alters the physics world inside a contact callback. For example, you may have a collision that applies damage and try to destroy the associated actor and its rigid body. However, Box2D does not allow you to alter the physics world inside a callback because you might destroy objects that Box2D is currently processing, leading to orphaned pointers.
也就是说,你不应该在碰撞回调中销毁物体。
您应该存储对您希望销毁的物体的引用,并在更新周期后使用世界引用销毁它们。
这是您需要的吗?
关于android - 在碰撞 JBox2D android 上销毁 body ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22958877/
我正在使用stephanwagner jBox 来完成以下任务。 我有一个列表链接,例如: Delete First Delete Second Delete Third Delete Fourth
我刚刚浏览了 jBox.js 的代码,发现了以下代码片段: var appendImage = function(gallery, id, preload, open) { if (jQuery(
我刚刚试用了这个名为 jBox.js 的插件,发现了一些新选项。这是一个非常可定制的插件。我说的选项是 adjustDistance . documentation说,你可以传入一个整数或对象,像这样
我有这个page (这仍在进行中)其中包含一些图像的缩略图,单击这些缩略图会弹出更大的版本;我正在使用 jBox来完成这个。我正在尝试让更大的图像以响应方式运行。但是什么也做不了! 我通过检查器检查过
当我点击文本框 jbox.js 时显示工具提示,我希望当文本框聚焦时显示工具提示以及当未聚焦时显示工具提示隐藏。 脚本: $(document).ready(function() { $('
我正在使用 jBox 网址:http://stephanwagner.me/jBox . 并在每次点击链接时创建一个模式。首次创建模态时,将在“onCreated”属性上添加该已创建模态上按钮的监听器
这个问题已经有答案了: What does suffix 'f' mean in Java code? (5 个回答) 已关闭 9 年前。 它似乎用在引擎中的值声明中,但 JBox-2D 的文档没有解
快速提问,我在 jBox 中加载 div 时遇到问题(一个简单的 jquery 弹出脚本)。这是我正在使用的代码 $(document).ready(function() { var MJB
我已经搜索了大约 2 个小时,并阅读了方法和教程,但由于某种原因我的程序仍然没有按预期运行。 我想将包含一个包含一些按钮的框的面板放在屏幕中央。有一种方法可以使用 RigidBox 来做到这一点,但它
我是一名优秀的程序员,十分优秀!