2012-04-06 9 views
2

これは私の2日目のpygameであり、多くの機能についてあまり気づいていません。以下が表示される。これは、(タプルで)円のn数のためにループしPygame - 画像を画像として保存

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

私は私の表面にやっているものを(ウィンドウ)のサンプルです。今度は、これが合計5〜6回繰り返されます。サーフェスウィンドウをイメージ(またはサブサーフェス)として保存/保存し、ウィンドウの右上にサムネイル/リンクとして配置したいと思います。

可能ですか?それとも、pygameはいいライブラリではありませんか?私はcocos2dでも作業を試みましたが、ドキュメントはpygameと比べて非常に貧弱です。

私の質問がどこにも意味をなさない場合は、返信してください。私はそれを更新し続けます。

P.S.私はpython.surfaceライブラリ関数を見たことがあります。とsurface.copy私が探しているようだが、私はサムネイル/画像としてそれをコピーしてさらに編集する前に表面を格納することはできますか?

EDITは - >私が何をしたか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) 

は、上記の私のために完璧に動作するようです。ありがとう。 :)

答えて

2

実際、Pygameのすべての描画関数とtransofmr関数は、最初のパラメータとして「サーフェス」を受け入れます。実際、パイゲームでは、 "表面" です。

ディスプレイウィンドウは単なるサーフェスでもありますが、内容はスクリーンに反映されます。しかし、pygame.transform.smoothscaleを使用してスクリーンサーフェスのサムネイルコピーを取得してから、スクリーンオブジェクトのblitメソッドをスクリーンに貼り付けることができます。

もしこれが連続して行われるならば、ビデオカメラがその出力を指し示すように、貼り付けられたコーナーouldも複製されます - そうするための「正しい方法」は、画面上にblitし、その上にサムネイルをblitします。

+0

私は自分自身を再見積もりしたいと思います:>これは、パイゲームの2日目です。多くの機能についてあまり気づいていません。私がしたことを反映するために質問を編集しました。 – hjpotter92

+0

これを実行する方法が短く/早い場合は教えてください。 – hjpotter92

+0

サムネイルを呼び出す方法を教えてください。たとえば。サムネイルをクリックすると、そのサーフェスを元に戻す必要があります。 – hjpotter92

関連する問題