我一直在尝试使用 Opennoise 在 pymunk 中创建具有 2D 地形的游戏。地形坐标为:
from opensimplex import OpenSimplex
noise = OpenSimplex()
inputs = np.zeros((100002,2))
for x in range(100000):
inputs[x] = ([x, (noise.noise2d(0.004*x, 0) - 0.125)*100 + 700])
inputs[100000] = ([100000,900])
inputs[100001] = ([0,900])
y 坐标移动了 +700,因为我使用 pygame 显示所有内容,窗口顶部位于 y = 0 处,底部位于 y = 800 处。
然后我创建一个多边形形状的 pymunk 静态体,并创建一个 pygame 形状来显示地形,如下所示:(pm = pymunk)
self.body = pm.Body(10,100,pm.Body.STATIC)
self.shape = pm.Poly(self.body, inputs)
space.add(self.body, self.shape)
pygame.draw.polygon(surface, color, inputs)
pygame 创建的形状看起来正确,但与 pymunk 多边形的形状不匹配,这表明 pymunk 没有创建预期的形状。那么我如何按预期创建 pymunk 形状?