2017-10-28 4 views
1

Dies ist ein Beispiel, das funktioniert: Es lädt eine rote Figur am unteren Rand meines Bildschirms. So weit so gut, aber Ich möchte die Figur an bestimmten Koordinaten wie 700 (x-Achse) und 100 (y-Achse) laden.Wie setzt man die Koordinaten eines Rect mit get_rect() oder Rect()?

import pygame 


class Figure: 

    def __init__(self, screen2): 
     """Initialize the figure and set its starting position.""" 
     self.screen2 = screen2 

     # Load the Red figure image and get its rect. 
     self.redplayer = pygame.image.load('Images/redplayer.bmp') 
     self.rectredplayer = self.redplayer.get_rect() 
     self.screen2_rect = screen2.get_rect() 

     # Start each new redplayer at the bottom center of the screen. 
     self.rectredplayer.centerx = self.screen2_rect.centerx 
     self.rectredplayer.bottom = self.screen2_rect.bottom 

    def blitme(self): 
     """Draw the red player figure at its current location.""" 
     self.screen2.blit(self.redplayer, self.rectredplayer) 

Antwort

0

die topleft coords auf diese Weise einstellen:

self.rectredplayer.x = 700 
self.rectredplayer.y = 100 
# Or just: 
self.rectredplayer.topleft = (700, 100) 

Um die Mitte des rect auf die gewünschten Koordinaten festgelegt:

self.rectredplayer.center = (700, 100) 

Oder nutzen Sie die anderen rect attributes:

x,y 
top, left, bottom, right 
topleft, bottomleft, topright, bottomright 
midtop, midleft, midbottom, midright 
center, centerx, centery 

Sie können auch Übergeben Sie die Coords direkt an Surface.get_rect:

self.rectredplayer = self.redplayer.get_rect(topleft=(700, 100)) 
Verwandte Themen