Код: Выделить всё
import pyglet
import pymunk.pyglet_util
WIDTH, HEIGHT = 1280, 720
WINDOW = pyglet.window.Window(WIDTH, HEIGHT)
SPACE = pymunk.Space()
SPACE.gravity = 0, -999
DRAW_OPTIONS = pymunk.pyglet_util.DrawOptions()
circle_body = pymunk.Body(1000, 999)
circle_body.position = WIDTH / 2, HEIGHT / 2 + 200
circle_shape = pymunk.Circle(circle_body, 30)
SPACE.add(circle_body, circle_shape)
# a body for all platforms shapes
platforms_body = pymunk.Body(body_type=pymunk.Body.STATIC)
platform1 = pymunk.Segment(platforms_body, (WIDTH / 2 - 300, HEIGHT / 2 - 100), (WIDTH / 2, HEIGHT / 2 - 200), 2)
SPACE.add(platform1, platforms_body)
@WINDOW.event
def on_draw():
WINDOW.clear()
SPACE.debug_draw(DRAW_OPTIONS)
def update(dt):
SPACE.step(dt)
pyglet.clock.schedule(update)
pyglet.app.run()
Это далеко не первый подобный случай при работе с Pymunk, но я не смог создать тестовую ситуацию, в которой это происходило бы постоянно, и вот... появилось.
Мне бы очень хотелось знать, есть ли хотя бы как-то исправить это недоразумение, сделать его хотя бы менее заметным, или можно просто смириться и надеяться на чудо???
Я пробовал уменьшить демпфирование, но все равно не во всех случаях проблему решил.
Подробнее здесь: https://stackoverflow.com/questions/791 ... gment-shap
Мобильная версия