我有一系列随机生成的EdgeShapes,如下所示:
我的问题是,如何用纹理填充底部区域以使其看起来像地面?
答案 0 :(得分:0)
正如IRC的某人所建议的那样:
使用OpenGL创建一个多边形,然后将其1:1映射到Box2D形状并对多边形进行纹理处理。
答案 1 :(得分:-1)
从古老的记忆中,看着代码,这不能用边缘形状来完成。你可以将它们链接在一起,但即便如此,也没有自我整理,这将允许形状自身重叠,并且可以。 。 。什么?没有创建法线,也没有质心。
这只是一个猜测 - 自从我使用box2d已经有一段时间 - 但是你可以创建一个多边形吗?您首先要在数组中创建N个点,然后使用该数组作为顶部的y值来模拟地面。然后你会使每个点的y值等于它的相邻(左或右)点的y值随时间变化。当点到达末尾时,它们将从阵列移出,并将新值移动到阵列的另一端 可以这样做,这会对与其他物体的接触点产生不利影响吗?