#python #pygame #game-physics #physics #pymunk
Вопрос:
Мой вопрос довольно прост, я просто хочу знать, как создать статическое тело, представляющее собой прямоугольник, с помощью pymunk. Я попытался прочитать документы и узнать о сегментах, но не смог этого понять. Так что любая помощь очень ценна !
Ответ №1:
Либо вы можете использовать статическое тело, уже прикрепленное к Пространству, либо создать новое. Чтобы создать прямоугольник, либо вы предоставляете углы конструктору Poly (как показано ниже), либо используете сокращенный метод Poly.create_box.
space = pymunk.Space()
rectangle = pymunk.Poly(space.static_body, [(10,10),(20,10),(20,15),(10,15)])
space.add(rectangle)
Обратите внимание, что статические тела не должны перемещаться после того, как они были добавлены в пространство. Поэтому, если вам нужно переместить прямоугольник, вместо этого вы можете использовать кинематическое тело.
Комментарии:
1. Спасибо, чувак, что это работает ! Я также обнаружил, что вы можете использовать другой способ, который я опубликовал ниже.
Ответ №2:
метод вибло работает. А также это
def create_rectangle_static(space,pos_x,pos_y,width,height):
body = pymunk.Body(body_type=pymunk.Body.STATIC)
body.position = (pos_x,pos_y)
shape = pymunk.Poly.create_box(body,(width,height))
space.add(body,shape)