içinde dönmem gerekiyor 180 derece genişliğinde 90 yüksekliğim var. Bir roketin 2 görünümünü gösterir - biri motor ateşlemeli ve bunlardan bir tanesi ateşlemiyor. Geminin sadece bir görüntüsünü gösterip, herhangi bir açıyla döndürmem gerekiyor. 180 x 90 hareketli grafiğin tamamını herhangi bir açıda görüntüleyebilirim, ancak döndürmeden ve karıştırmadan önce sol el veya sağ el görüntüsünü 90x90 rect'e nasıl kopyalayacağımı anlayamıyorum. İşte benim kodum. ship_image, içinde 2 gemi bulunan 180x90 boyutlarındaki sprite'tır. benim transform.chop, ship3_image öğesinde yalnızca bir geminin 90x90'lık yeni bir görüntüsünü oluşturmak için kullanılır ve kodun geri kalanı onu döndürür ve görüntüler (ekran yüzeyimi bilinçli olarak temizlemedim) sprite'ımın gerçekten etrafında döndüğünü göster). Peki neden 90 x 90 sprite elde etmem ya da 90 x 90 sprite almak için hangi komutu kullanıyorum?Sprite'ın bir parçasını nasıl kopyalayacağım Pygame
Yardımlarınız/görüşleriniz için teşekkür ederiz! screen shot of ships rotating
center=(200,200) #Store pos by center
angle = 0
while True:
ship2_image = ship_image #copy entire 2 ship image
ship3_image = pygame.transform.chop(ship2_image,[0,0,90,90])#left hand image
ship3_image=pygame.transform.rotate(ship_image,angle) # Rotate whole image
size=ship3_image.get_size() #Store size of rotated rect
hSize=[n/2 for n in size] #Half the size
pos=(center[0]-hSize[0]+200,center[1]-hSize[1]) #Subtract half the size
#from the center
frame.blit(ship3_image,pos)
angle += 1
pygame.display.update()
fpsClock.tick(FPS)