2

これは pygame での 2 日目であり、多くの関数についてあまり認識していません。以下は、私が自分の表面(ウィンドウ)で行っていることのサンプルです

for c in nStations:
  pygame.time.wait( 20 )
  pygame.draw.circle( window, c.tColor, c.tPosition, c.iRadius )
  pygame.display.update()

nこれは、(タプル内の) 円の数が表示されるようにループされます。これを合計5~6回繰り返します。サーフェス ウィンドウを画像 (またはサブサーフェス) として保存/保存し、ウィンドウの右上隅にサムネイル/リンクとして配置したいと考えています。

出来ますか?それともpygame、これに適したライブラリではありませんか? 私も取り組んでみましたcocos2dが、ドキュメンテーションは に比べて非常に貧弱pygameです。

私の質問がどこにも意味をなさなかった場合は、返信してください。どんどん更新していきます。

PS python.surfaceライブラリ関数を見てきました。surface.copy は私が探しているもののようですが、コピーしてさらに編集する前に、サーフェスをサムネイル/画像として保存できますか?

編集-> jsbueno の返信を読んだ後、私がしたこと:

  tThumbs.append( pygame.transform.smoothscale( window, (32, 32) ) )
  # the above statement inside drawing-circle loop

i = 1
for thumb in tThumbs:
  window.blit( thumb, (1050, 36*i) )
  pygame.display.update()
  i += 1
  pygame.time.wait( 200 )

上記は私にとって完璧に機能するようです。ありがとう。:)

4

1 に答える 1

2

実際、Pygame のすべての drawing 関数と transofmr 関数は、最初のパラメーターとして「表面」を受け入れます。実際、pygame では、「表面」イメージです。

表示ウィンドウも単なる表面ですが、内容が画面に反映される特殊なウィンドウです。ただし、 を使用pygame.transform.smoothscaleして画面サーフェスのサムネイル コピーを取得し、blit画面オブジェクト自体のメソッドを使用してそれを画面に貼り付けることができます。

これが継続的に行われる場合、貼り付けられたコーナーも、ビデオカメラがそれ自体の出力を指しているのと同じように複製される可能性があります-したがって、それを行う「正しい方法」は次のとおりです。画面の表面に移動し、その上のサムネイルをブリットします。

于 2012-04-06T13:45:42.057 に答える