Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Box2D碰撞检测:如何测试特定边界?_Android_Collision Detection_Box2d_Andengine - Fatal编程技术网

Android Box2D碰撞检测:如何测试特定边界?

Android Box2D碰撞检测:如何测试特定边界?,android,collision-detection,box2d,andengine,Android,Collision Detection,Box2d,Andengine,我正在尝试使用AndEngine和Box2D物理插件制作一个简单的滑板游戏。我正在尝试制作一个“研磨”导轨,需要测试我的播放器的底部是否与研磨导轨的顶部发生碰撞;我知道这样做的常用方法是沿精灵的每个边缘将碰撞框调整为1像素,并测试碰撞,但我不知道如何调整任何精灵实体的碰撞框大小 我只想使用Andengines碰撞检测,但box2Ds碰撞检测和普通物理阻止了一些东西被检测为与Andengines碰撞检测的碰撞,因此我一直在尝试为我的物理世界制作一个新的“ContactListener”,并使用“b

我正在尝试使用AndEngine和Box2D物理插件制作一个简单的滑板游戏。我正在尝试制作一个“研磨”导轨,需要测试我的播放器的底部是否与研磨导轨的顶部发生碰撞;我知道这样做的常用方法是沿精灵的每个边缘将碰撞框调整为1像素,并测试碰撞,但我不知道如何调整任何精灵实体的碰撞框大小

我只想使用Andengines碰撞检测,但box2Ds碰撞检测和普通物理阻止了一些东西被检测为与Andengines碰撞检测的碰撞,因此我一直在尝试为我的物理世界制作一个新的“ContactListener”,并使用“beginContact(Contact Contact)”方法进行游戏,但区分相互冲突的事物要简单得多,我也不确定我在做什么

此外,我希望我的球员能够通过旁边的铁路(在它前面),但在这一刻,我的球员碰撞其边缘和停止


目前,box2D似乎付出了太多的努力,我很想把它从我的代码中删除,转而使用AndEngine碰撞检测,对我自己的简单物理进行破解…

你可以将“Userdata”(类型:Object)附加到你创建的Body对象上。我会创建某种类型的Userdata类,并扩展SkateBoardUserdata和GrindRailUserdata等内容。

此页可能会有用。您可能可以使用b2ContactFilter::ShouldCollide函数来决定轨道何时可碰撞。@iforce2d感谢指针,我现在就查看它。我完全忘记了这一点!我想我会用我需要的额外数据创建一个JSONObject(这样我就可以有我需要的更多额外信息),并将它附加到主体上。谢谢