2

私はpygameでbox2d(実際にはpythonのpybox2d)を使用することを学んでおり、例の1つに次の関数があります:

def my_draw_polygon(polygon, body, fixture):
    vertices=[(body.transform*v)*PPM for v in polygon.vertices]
    vertices=[(v[0], SCREEN_HEIGHT-v[1]) for v in vertices]
    pygame.draw.polygon(screen, colors[body.type], vertices)

ここまでのコードのほとんどは理解できましたが、body.transform とは何か、または形状を描画するときになぜ頂点を乗算するのかがわかりません。

body.transform とは何ですか? なぜ重要なのですか?

4

1 に答える 1

0

トランスフォームは、ワールド内でのボディの位置と回転を定義します。pyBox2d ソース コードからのテキストを次に示します。

    The body transform for the body's origin.
    To set it, you may pass in a new Transform() or a tuple of:
        (position, angle)
    Setting the transform breaks any contacts and wakes the other bodies.
    Manipulating a body's transform may cause non-physical behavior.
    @param position the world position of the body's local origin.
    @param angle the world rotation in radians.
于 2013-08-09T11:41:24.777 に答える