1 つまたは 2 つの問題に関する質問があります。Pygame を使用して描画ゲームを作成しています。
ボール同士や壁に対して、表面の内部で跳ね返るボールがあります。マウスを使用すると、ボールが跳ね返る直線を描くこともできます。
ボールの Surface と Rect をカバーする ball.png があるため、ボールは pygame.image を使用して描画されます。しかし、線については単純な長方形を返す pygame.draw.line() を使用しています。
そして、私の現在の最大の問題:
各線を独自の Surface オブジェクトに描画し、これらをより大きな「ゲーム キャンバス」にブリットすることにしました。これは、ここで提供されているピクセルの完全な衝突検出と surfarray.array_colorkey() を使用したかったためです。そのためには、基礎となる Surface が必要です (ボールには pygame.image によって返される画像 Surface があります)。衝突アルゴリズムの透明度の側面を使用できるように、線に Surface が必要です。そうしないと、ボールが線を包む Rects から跳ね返ります。
Q1) 線を引く良い方法はありませんか? 画像やスプライトに似たものを使用したいと思います。そのようなことはありますか?
Q2) いいえの場合、「ゲーム キャンバス」の座標を使用して小さい面に線を描画するのが比較的簡単で、線が途切れず、上記のピクセル パーフェクト コリジョンが機能するように、線ごとに面を作成するにはどうすればよいですか? ?
Q3) 私が完全にオフになっている場合/衝突、検出、描画などを行うためのより良い方法がある場合.