7

我有一系列随机生成的 EdgeShapes,如下所示:

在此处输入图像描述

我的问题是,如何用纹理填充底部区域以使其看起来像地面?

4

2 回答 2

0

正如 IRC 中的某人所建议的那样:

使用 OpenGL 创建一个多边形,然后将其 1:1 映射到 Box2D 形状上并对多边形进行纹理处理。

于 2012-02-15T15:55:21.453 回答
-1

从古老的记忆来看,看看代码,这不能用边缘形状来完成。您可以将它们链接在一起,但即便如此,也不会出现自碰撞,这将允许形状自身重叠,并且是 . . . 什么?没有创建法线,也没有创建质心。

这只是一个猜测——自从我使用 box2d 以来已经有一段时间了——但是你可以创建一个多边形吗?您将首先在一个数组中创建 N 个点,然后将该数组用作顶部的 y 值来模拟地面。然后,您将使每个点的 y 值随着时间的推移与其相邻(左或右)点的 y 值相等。当这些点到达末端时,它们被移出数组,并且一个新值被移到数组的另一端。
可以这样做吗?这会对与其他物体的接触点产生不利影响吗?

于 2012-01-09T08:44:52.710 回答