- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发一款使用 jbox2d 和 jBox2d for android 的游戏。我想检测用户是否触摸了我世界中各种物体中的特定动态物体。我试过遍历所有 body 并找到我感兴趣的一个,但它对我不起作用。请帮忙这是我所做的:
@Override
public boolean ccTouchesEnded(MotionEvent event)
{
CGPoint location = CCDirector.sharedDirector().convertToGL(CGPoint.ccp(event.getX(),
event.getY()));
for(Body b = _world.getBodyList();b.getType()==BodyType.DYNAMIC; b.getNext())
{
CCSprite sprite = (CCSprite)b.getUserData();
if(sprite!=null && sprite instanceof CCSprite)
{
CGRect body_rect = sprite.getBoundingBox();
if(body_rect.contains(location.x, location.y))
{
Log.i("body touched","<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<");
expandAndStopBody(b);
break;
}
}
}
return true;
}
触摸后,系统继续打印 GC_CONCURRENT freed 1649K, 14% free 11130K/12935K, paused 1ms+2ms and everything goes to hang like state.
最佳答案
要检查 body 是否被触摸,您可以使用世界对象的方法queryAABB。我尝试重新安排您的代码以使用该方法:
// to avoid creation every time you touch the screen
private QueryCallback qc=new QueryCallback() {
@Override
public boolean reportFixture(Fixture fixture) {
if (fixture.getBody()!=null)
{
Body b=fixture.getBody();
CCSprite sprite = (CCSprite)b.getUserData();
Log.i("body touched","<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<");
expandAndStopBody(b);
}
return false;
}
};
private AABB aabb;
@Override
public boolean ccTouchesEnded(MotionEvent event)
{
CGPoint location = CCDirector.sharedDirector().convertToGL(CGPoint.ccp(event.getX(), event.getY()));
// define a bounding box with width and height of 0.4f
aabb=new AABB(new Vec2(location.x-0.2f, location.y-0.2f),new Vec2(location.x+0.2f, location.y+0.2f));
_world.queryAABB(qc, aabb);
return true;
}
我尝试减少垃圾收集器,但必须实例化一些东西。有关 http://www.iforce2d.net/b2dtut/world-querying 的更多信息
关于android - 如何检测是否在 jBox2D 中触摸了特定的物体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12986388/
我正在使用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 来做到这一点,但它
我是一名优秀的程序员,十分优秀!