21

私は学習中pygameで、通常、ホバー、押された 3 つの状態のボタンのグラフィックが必要です。こんなイメージがあります...

縦に積み重ねられた 3 つのボタンの状態

...そして、その一部を使って新しいものを手に入れたいですSurface

このコードで画像をロードしています:

 buttonStates = pygame.image.load(os.path.join('image','button.png'))

そのグラフィックの一部だけを使用して新しいサーフェスを作成するにはどうすればよいですか?

4

4 に答える 4

38
cropped = pygame.Surface((80, 80))
cropped.blit(buttonStates, (0, 0), (30, 30, 80, 80))

サーフェスの blit メソッドは、別のサーフェスをそのサーフェスに「貼り付け」ます。blit の最初の引数はソース サーフェスです。2 つ目は、貼り付ける場所 (この場合は左上隅) です。3 番目の (オプション) 引数は、貼り付け元のソース イメージの領域です。この場合、上から 30 ピクセル、左から 30 ピクセルの 80x80 の正方形です。

于 2011-06-04T23:50:04.487 に答える