pygame 中的段同时旋转
Simultaneous rotation of segments in pygame
如何使盒装线段以恒定 angular 速度围绕其在 pygame 中的组合质心 (400,263.5) 旋转。目标是同时旋转四个部分,使盒装部分作为一个单元旋转,而动态物体在重力的影响下在其中移动
如果您希望片段始终相互连接,最简单的解决方案是将所有 4 个片段连接到同一个 body,然后旋转那个 body。为了便于计算实际旋转,将 body 位置设置为中心 (400,263.5),并将线段端点调整为相对于该点。
像这样:
pts = [(-27, -238.5), (27,-238.5), (27,238.5), (-27,238.5)]
body_type=pymunk.Body(body_type=pymunk.Body.KINEMATIC)
body_type.position = (400, 263.5)
space.add(body_type)
for i in range(4):
segment = pymunk.Segment(body_type, pts[i], pts[(i+1)%4], 2)
segment.elasticity = 0
segment.friction=0
space.add(segment)
如何使盒装线段以恒定 angular 速度围绕其在 pygame 中的组合质心 (400,263.5) 旋转。目标是同时旋转四个部分,使盒装部分作为一个单元旋转,而动态物体在重力的影响下在其中移动
如果您希望片段始终相互连接,最简单的解决方案是将所有 4 个片段连接到同一个 body,然后旋转那个 body。为了便于计算实际旋转,将 body 位置设置为中心 (400,263.5),并将线段端点调整为相对于该点。
像这样:
pts = [(-27, -238.5), (27,-238.5), (27,238.5), (-27,238.5)]
body_type=pymunk.Body(body_type=pymunk.Body.KINEMATIC)
body_type.position = (400, 263.5)
space.add(body_type)
for i in range(4):
segment = pymunk.Segment(body_type, pts[i], pts[(i+1)%4], 2)
segment.elasticity = 0
segment.friction=0
space.add(segment)