2011-06-04 15 views
13

pygame kodunu öğreniyorum ve üç durumlu bir düğme için bir grafik istiyorum: normal, üzerine gelindiğinde ve basılı. Ben ... bunun gibiBir resmi Pygame ile nasıl kırpabilirim?

Three button states, stacked vertically

bir görüntü var ... ve bunun bir kısmını kullanarak yeni Surface almak istiyorum.

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

Bunu nasıl grafik sadece bir kısmını kullanarak yeni bir yüzey yapabilirsiniz:

Bu kod ile resim yükleme ediyorum?

cevap

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

Yüzeydeki karışım yöntemi, üzerine başka bir yüzey yapıştırır. Blitteki ilk argüman kaynak yüzeydir. İkincisi, yapıştırılacak konumdur (bu durumda, sol üst köşede). Üçüncü (isteğe bağlı) argüman, yapıştırılacak kaynak görüntünün alanıdır - bu durumda, 80x80 kare 30 piksel ve üstten 30 pikseldir.

+0

Çok teşekkür ederim kırpmak için Pygame kullanan farklı yüzeyde bir dış program ve yükte düğmelerin bu 3 tür resmi kırpmak yapmanın en iyi yolu düşünüyorum! Cevabınız, blit yönteminin ne yaptığını ve nasıl yaptıklarını anlamama yardımcı oldu. Örneğimi koduma ve ne beklediğime, neye sahip olduğumu anladım! – dobleseis

-1

Ben bunun yerine