2016-05-12 6 views
1

sind mit diesem Code Rechteck in meinem Bild, wie diesegibt es eine Möglichkeit, die Größe des Rechtecks ​​in Pygame zu kontrollieren?

def __init__(self): 
    pygame.sprite.Sprite.__init__(self) 
    self.image=pygame.image.load(os.path.join(image_folder,"Player.png")) 
    self.rect = self.image.get_rect() 
    self.vel_x = 0 
    self.speed = 30 
    self.friction = 3.5 
    self.rect.center = (420,360) 
    self.delta = clock.tick(FPS)/1000.00 

aber die Methode get_rect zeichnen() auf dem gesamten geladene Bild das Rechteck zeichnen enter image description here

und ich will es so zu sein enter image description here

+0

Können Sie verknüpfen, wo Sie die Rect zeichnen? Ich gehe davon aus, dass Sie die rect verwenden, die Sie aus dem Bild bekommen – TankorSmash

+0

Ich habe dich nicht bekommen ?? – karim

+0

** image.get_rect() ** Ermittelt die Größe des geladenen Bildes und zeichnet ein Rechteck um das Bild. – karim

Antwort

2

Sie ein Rechteck erstellen könnte, wo Sie den Rumpf wissen wird, wenn der Rumpf an der gleichen Stelle sein und die gleiche Größe jedes Mal

self.rect = pygame.Rect(hulltop,hullleft,hullwidth,hullheight) 

In Ihrem Fall hullwidth könnte die Bildbreite und hullheight sieht aus wie Ihre Bildhöhe minus hulltop.

Wenn Sie verschiedene Rümpfe haben, können Sie den Rumpf und den Mast/das Segel in separaten Bilddateien betrachten, indem Sie nur die Umrisse des Rumpfes erstellen und dann die Bilder verbinden. Alternativ können Sie ein Diktat der verschiedenen Rumpfgrößen erstellen und daraus die Größe und Position des zu zeichnenden Rechtecks ​​bestimmen.

+0

danke das ist alles was ich brauche :) – karim

1

Sie erhalten die Rect des Bildes. Wenn Sie eine unterschiedlich große Rect haben möchten, müssen Sie eine erstellen.

Verwandte Themen