0

私は基本的なパイゲームを作っていますが、誰かが私を助けることができるかどうか疑問に思っていました

一定時間後、パワーアップが画面を下にスクロールしますが、動作しません

これが私が使用している方法です:

def random_event(self):
    self.force_img_r = self.force_img.get_bounding_rect()
    self.rnd_x = random.randint(5,315)
    self.force_img_r.x = self.rnd_x
    self.force_img_r.y += 3
    screen.blit(self.force_img,(self.rnd_x, self.force_img_r.y))

そのすべてのことは、画像が一瞬点滅し、その後何もないことです

なぜそれが機能しないのか誰にも教えてもらえますか!?

4

1 に答える 1

-1

pygame では、通常、繰り返しごとに画面をきれいにするメイン ループがあります。おそらく、まばたきだけが表示され、描画し、次のループで再びきれいになります。

これを回避するには、pygame イベントでゲームの状態のみを更新し、現在の状態に従ってループごとに画面を描画する必要があります。

擬似コード:

# Main Loop
while True:

    # Process events
    #   -> Update game state

    # Clean screen
    # Draw current state to the screen

    # Update or flip display

    # Keep framerate (clock.Tick())

外部クラス/メソッド/関数を呼び出すことができますが、この構造は常にメイン ループに保持する必要があります。

于 2013-06-21T14:50:20.313 に答える