Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/41.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
Box2D,libGDX坡度碰撞_Libgdx_Box2d_Collision - Fatal编程技术网

Box2D,libGDX坡度碰撞

Box2D,libGDX坡度碰撞,libgdx,box2d,collision,Libgdx,Box2d,Collision,我已经使用ChainShape为我的平台创建了一个基于Box2D的地图,该地图的不同角度坡度不超过45°。 我的问题是斜坡与我的球员相撞。球员的身体有两个固定装置,一个矩形和一个圆形。每当我移动球员的方法并不重要的结果是相同的,我停在一个斜坡的中间,我慢慢下滑。我设法暂时解决了这个问题,但写这篇文章的主要原因是,每当我离开斜坡时,我都会开枪,因为我仍然有上一个动作留下的一些冲动。当我进入一个向下的斜坡时,或者当我在斜坡上停下来并再次开始移动时,同样的事情也会发生 进入/离开斜坡: 红线是我想要的

我已经使用ChainShape为我的平台创建了一个基于Box2D的地图,该地图的不同角度坡度不超过45°。 我的问题是斜坡与我的球员相撞。球员的身体有两个固定装置,一个矩形和一个圆形。每当我移动球员的方法并不重要的结果是相同的,我停在一个斜坡的中间,我慢慢下滑。我设法暂时解决了这个问题,但写这篇文章的主要原因是,每当我离开斜坡时,我都会开枪,因为我仍然有上一个动作留下的一些冲动。当我进入一个向下的斜坡时,或者当我在斜坡上停下来并再次开始移动时,同样的事情也会发生

进入/离开斜坡:

红线是我想要的乐章,黑色是我现在的乐章

开始在斜坡上移动:

红线是我想要的乐章,黑色是我现在的乐章


你能帮我解决这个问题吗?我不介意你的答案是否详细。

我发现阻止角色在斜坡上滑动的最简单方法是,当玩家释放移动按钮,身体被固定时,将身体线性阻尼设置为无穷大,我正在使用光线跟踪进行测试

至于你的角色不跟随斜坡的问题,这仅仅是由于动力。当你到达斜坡的顶端时,你的身体仍然有向上的动力,它必须清除。当你接近一个向下的斜坡时,你的身体仍然有一些水平动量需要清理。我在光线跟踪方面取得了一些成功,找到了玩家位置下方坡度的法线,并手动设置身体速度以匹配切线,但这不适用于您的应用程序


至于你的第二个问题,在斜坡上开始运动,我想你是在施加一个直接的水平冲动,把身体从斜坡上扔下来。同样,这可以通过找到运动员站立位置的坡度,并以适当的角度施加力来纠正。

身体上的摩擦力是多少?你能发一个我们可以玩的吗?对不起,我不能发,我几乎没有时间。身体的形状显示在链接的图片上,它的基本属性只有我手动更改的更高质量。让我重复这个问题。你将如何实现我的原始帖子中链接图片上显示的所需移动。我想做一个老式的运动平台。也许Rogue Legacy移动系统是我想做的一个很好的例子。请记住,我计划使用不同的角度坡度。