def draw(self, surface = None): if not surface: surface = self.surface rect(surface, self.colour, self.makeRect()) if self.floating: self.floating.draw(surface) for t in self.things: t.draw(surface)
def draw(self, screen): rect_list = [] for i in range(4): for j in range(4): if self.pieza.cuadrado[i][j]: pg.rect(50 * i, 50 * j, 50, 50) pg.draw.rect(screen, (50, 0, 100), (50 * i, 50 * j, 50, 50), 2) return rect_list
def __init__(self, rect=None, caption='', bgcolor=WHITE, fgcolor=BLACK, font=None, normal=None, down=None, highlight=None): if rect is None: self._rect = pygame.rect(0, 0, 30, 60) else: self._rect = pygame.Rect(rect) self._caption = caption self._bgcolor = bgcolor self._fgcolor = fgcolor if font is None: self._font = SYSFONT else: self._font = font self._visible = True # state of button self.buttonDown = False self.mouseOverButton = False self.lastMouseDownOverButton = False self.customSurfaces = False if normal is None: # not a custom button self.surfaceNormal = pygame.Surface(self._rect.size) self.surfaceDown = pygame.Surface(self._rect.size) self.surfaceHighlight = pygame.Surface(self._rect.size) self._update() else: self.setSurfaces(normal, down, highlight) self._update()
def __init__(self, width=WIDTH, height=HEIGHT): self.pos = Vector2(WIDTH / 2, HEIGHT / 2) self.rect = pygame.rect(0, 0, width, height) self.rect.center = self.pos self.gamesections = pygame.sprite.Group() self.acc = Vector2(0, 0) self.vel = Vector2(0, 0)
def drawAll(mapCode,surf): #surf에 모든 이미지를 그려넣는다. for ground in mapDataList[mapCode]['ground']: Rect=pygame.rect(ground[0],ground[1]) pygame.draw.rect(surf, (0,0,0,0), Rect) for item in mapDataList[mapCode]['item']: surf.blit(item[1],itme[0]) for door in mapDataList[mapCode]['door']: surf.blit(doorImageSurf,door[0])
def __init__(self,x,y,dx,dy): Sprite.__init__(self) self.rect = pygame.rect(x,y,width,height) self.image = pygame.Surface(self.rect.size) self.drawImage(self) self.dx = dx self.dy = dy
def __init__(self): pygame.init() self.running, self.playing = True, False self.run_screen = True self.cursor = pygame.rect(0, 0, 20, 20) self.window = pygame.display.set_mode( ((self.display_width, self.display_height))) self.display = pygame.Surface( (self.display_width, self.display_height))
def update(self,time_passed,shipgroup): self.x += self.speedx self.y += self.speedy rect1 = pygame.rect(self.x,self.y,self.radius*2,self.radius*2) for elem in shipgroup: rect2 = elem.image.get_rect() if (rect1.colliderect(rect2)): pygame.sprite.Sprite.kill(self) pygame.sprite.Sprite.kill(elem)
def __init__(self, vitesse, couleur, vie, recompense): self.vitesse = vitesse self.couleur = couleur self.vie = vie self.recompense = recompense self.Index = Mapping.Spawn self.rectangle = pygame.rect(mapping.startCoordIndex[0] * mapping.c, mapping.startCoordIndex[1] * Mapping.d, mapping.c / 5, mapping.d / 5) self.case_a_suivre = 1
def __init__(self, world, position, image=None): self.world = world self.position = np.array(position) self.image = image if not image: self.image = pygame.Surface((1, 1)) self.size = np.array(self.image.get_size()) self.type = "GraphicEntity" self.rect = pygame.rect(position - size / 2, size)
def __init__(self,world,position,image=None): self.world = world self.position = np.array(position) self.image = image if not image: self.image = pygame.Surface((1,1)) self.size = np.array(self.image.get_size()) self.type = "GraphicEntity" self.rect = pygame.rect(position - size/2,size)
def start_bola(): global speed_bola_x, speed_bola_y if bola.left + 50 > screen_width or bola.left < 0: bola.top = screen_height //2 bola.left = screen_width // 2 speed_bola_x = 3 * random.choice((1,-1)) speed_bola_y = 3 * random.choice((1,-1)) def mover_bola(): global speed_bola_x, speed_bola_y if bola.top + 50 > screen_height: speed_bola_x = -speed_bola_x if bola.left < 10 and rectangulo.top < bola.top < rectangulo.top + 140: speed_bola_y = - speed_bola_y if bola.top < 0: speed_bola_x = -speed_bola_x start_bola() bola.top += speed_bola_x bola.left += speed_bola_y rectangulo = pygame.Rect(10,10,10,140) bola = pygame.rect(50,10,50,50) speed = 0 speed_bola_x = 3 speed_bola_y = 3 while True: screen.fill(back_color) for event in pygame.event.get(): if event.type == pygame.KEYDOW: if event.key == pygame.K_UP speed = -3 elif event.key == pygame.KEYDOW speed = 3 elif event.type == pygame.KEYUP: speed = 0 mover_rectangulo() mover_bola() pygame.draw.Rect(screen,back_color,rectangulo) pygame.draw.ellipse(screen,back_color,bola) pygame.display.flip() clock.tick(60)
def __int__(self): super(Mysprite, self).__int__() self.images = [] self.images.append(pygame.image.load('grams/circle-1.png.png')) self.images.append(pygame.image.load('grams/cross-1.png.png')) self.index = 0 self.image = self.images[self.index] self.rect = pygame.rect(5, 5, 50, 50)
def _initHud(self): faceDisplay = pygame.rect() gaugeTiredNess = pygame.rect() gaugeBravery = pygame.rect() textJump = pygame.rect() textScore = pygame.rect() testTimer = pygame.rect()
def setSurfaces(self, normalSurface): # Drawing the button image... #checks to see if the surface is a string filepath if type(normalSurface) == str: self.origSurfaceNormal = pygame.image.load(normalSurface) #set the surface images self.surfaceNormal = self.origSurfaceNormal self.customSurfaces = True self.rect = pygame.rect( (self.rect.left, self.rect.top, self.surfaceNormal.get_width(), self.surfaceNormal.get_height()))
def __init__(self, settings, screen, ship): """在飞船所处的位置创建一个子弹对象""" super(Bullet, self).__init__() self.screen = screen # 在(0,0)处创建一个表示子弹的矩形,再设置正确的位置 self.rect = pygame.rect(0, 0, settings.bullet_width, settings.bullet_height) self.rect.centerx = ship.rect.centerx self.rect.top = ship.rect.top self.y = float(self.rect.y) self.color = settings.bullet.color self.speed_factor = settings.bullet_speed_factor
def __init__(self, ai_settings, screen, ship): super().__init__() self.screen = screen # Create a bullet at 0,0 in screen, then set the location correctly self.rect = pygame.rect(0, 0, ai_settings.bullet.width, ai_settings.bullet.height) self.rect.centerx = ship.rect.centerx self.rect.top = ship.rect.top # Store the y coordinate of the bullet self.y = float(self.rect.y) self.color = ai_settings.bullet_color self.speed_factor = ai_settings.bullet_speed_factor
def __init__(self, ai_settings, screen, ship): """Create a bullet object at the ship's current position.""" super(Bullet,self).__init__() self.screen = screen # Create a bullet rect at (0,0) and then set correct position. self.rect = pygame.rect(0, 0, ai_settings.bullet_width, ai_settings.bullet_height) self.rect.centerx = ship.rect.centerx self.rect.top = ship.rect.top # Store the bullet's position as a decimal value self.y =(self.rect.y) self.color = ai_settings.bullet_color self.speed_factor = ai_settings.bullet_speed_factor
def __init__(self): pygame.init() self._running = True self.size=1600,900 self.CAPTION="SKIPY" self.KEYS_BY_NAME = {} self.screen = pygame.display.set_mode(self.size,pygame.RESIZABLE) pygame.display.set_caption(self.CAPTION) #setup gray background self.background=pygame.Surface(self.screen.get_size()) self.background = self.background.convert() self.background.fill((243,244,245)) self.background_rect=self.background.get_rect() #load images self.SpritesAndStage=pygame.image.load("SpritesAndStage.PNG") self.def_sprite=pygame.image.load("Default.png") self.choose_sprite=pygame.image.load("Choose_Hover.png") self.draw_sprite_rect=rect(385,self.screen.get_size()[1]-475, 23,23) self.error_img=pygame.image.load("Error.png") self.start=pygame.image.load("start.png") self.start_rect=Rect(0,0,30,30) self.error_layer=pygame.Surface((480,360),pygame.SRCALPHA) self.error_layer.blit(self.error_img,(0,0)) self.error=False pygame.display.set_caption(self.CAPTION) self.clock = pygame.time.Clock() for constant in dir(pygame): if constant.startswith("K_"): key = eval("pygame."+constant) name = pygame.key.name(key) self.KEYS_BY_NAME[name] = key self.project = kurt.Project() self.sprite = kurt.Sprite(self.project, "Sprite1") self.sprite.costume = kurt.Costume("square", kurt.Image.new((60, 60), (0, 0, 0))) self.project.sprites = [self.sprite] self.project.convert("scratch14") self.surface=pygame.Surface((480,380),pygame.SRCALPHA) try: self.set_project(kurt.Project.load("default.sb")) except Exception as e: print("Error "+str(e)) self.tick()
def __init__(self, tx=c.rgb_black, **pos): if type(tx) == self.__class__: self.__dict__ = tx.__dict__ for k, v in pos.items(): setattr(self.rect, k, v) return if 'rect' in pos.keys() and type(pos['rect']) == tuple: pos['rect'] = pg.rect(*pos['rect']) if type(tx) == tuple: self.rect = pos.pop('rect') if 'rect' in pos.keys() else pg.Rect( 0, 0, 0, 0) for k, v in pos.items(): setattr(self.rect, k, v) self.original_tx = pg.Surface(self.rect.size) self.original_tx.fill(tx) self.tx.fill(tx) else: self.original_tx = tx self.rect = self.tx.get_rect( center=pos['rect'].center) if 'rect' in pos.keys( ) else self.tx.get_rect(**pos)
def render(self): #titlebar draw.rect(self.background,(156,158,162),rect(0,0,1600,30)) self.screen.blit(self.background, (0, 0)) if self.screen.get_size()[1]<900: #too small, cut off image self.screen.blit(self.SpritesAndStage,(10,410)) self.set_sprite_chooser() else: #big, resize accordingly self.screen.blit(self.SpritesAndStage,(10,(self.screen.get_size())[1]-490)) self.set_sprite_chooser() #start self.screen.blit(self.start, (0,0)) #stage self.screen.blit(self.surface, (10,30)) if self.error: self.screen.blit(self.error_layer, (300,self.screen.get_size()[1]-490)) time.sleep(2) pygame.display.flip()
def __init__(self): pygame.init() self.screen = pygame.display.set_mode((500, 500)) self.screen.fill((250, 250, 250)) pygame.display.set_caption('TilesetBuilder') self.re = Renderer() self.re.screen = self.screen self.re.title = "Tileset Builder" self.re.color = (234, 228, 223) self.selection = pygame.rect(0, 0, 32, 32) self.tiles = [] self.filename = "" self.loadImage = None button = Button("#Load Image") button.connect_signal(SIG_CLICKED, self.load_image) self.re.add_widget(button) add = Button("Add to Tileset") add.connect_signal(SIG_CLICKED, self.add_to_tileset) self.re.add_widget(add) self.re.start()
def __init__(self, image, pos, size, hovercolour, ID, centred=False): """A simple button. Args: image (str): The path to the image. pos x,y (int, int): The position of the button. size w,h (int, int): The dimensions of the button hovercolour r,g,b (int, int, int): A tint to apply when hovered ID (str/int): A unique id to identify the button. centred (bool): Whether or not the button is centred - default=False """ super().__init__() self.ID = ID self.hovered = False self.hcolour = hovercolour self.centred = centred self.image = py.image.load(image).convert_alpha() self.image = py.transform.scale(self.image, size) if self.centred: self.rect = self.image.get_rect() self.rect.center = pos else: self.rect = py.rect(pos, size) self.update()
def __init__(self): pygame.init () self.screen = pygame.display.set_mode ((500, 500)) self.screen.fill ((250, 250, 250)) pygame.display.set_caption ('TilesetBuilder') self.re = Renderer () self.re.screen = self.screen self.re.title = "Tileset Builder" self.re.color = (234, 228, 223) self.selection = pygame.rect(0,0,32,32) self.tiles = [] self.filename = "" self.loadImage = None button = Button ("#Load Image") button.connect_signal (SIG_CLICKED, self.load_image) self.re.add_widget (button) add = Button("Add to Tileset") add.connect_signal(SIG_CLICKED,self.add_to_tileset) self.re.add_widget (add) self.re.start()
def drawPaddle2(paddle2YPos): paddle2 = pygame.rect(WINDOW_WIDTH - PADDLE_BUFFER - PADDLE_WIDTH, paddle2YPos, PADDLE_WIDTH, PADDLE_HEIGHT) pygame.draw.rect(screen, WHITE, paddle2)
def drawPaddle1(paddle1YPos): paddle1 = pygame.rect(PADDLE_BUFFER, paddle1YPos, PADDLE_WIDTH, PADDLE_HEIGHT) pygame.draw.rect(screen, WHITE, paddle1)
def draw(self, window): rect(self.head, self.head_clr, window) for body in self.bodies: rect(body, self.body_clr, window)
def draw(self, window): """绘制食物""" rect(self.pos, cfg.food_color, window)
pRight=max(diamond) pLeft=min(diamond) pHigh=pLow=diamond[0] for i in range(1,len(diamond)): if diamond[i][1]>pHigh[1]: pHigh=diamond[i] if diamond[i][1]<pLow[1]: pLow=diamond[i] def line(p1,p2,x): slope=(p1[1]-p2[1])/(p1[0]-p2[0]) return slope*(x-p1[0])+p1[1] if line(pHigh,pLeft,right)<=bottom: return False if line(pLow,pRight,left)>=top: return False if line(pHigh,pRight,left)<=bottom: return False if line(pLow,pLeft,right)>=top: return False return True import pygame r=pygame.rect(1,1,0,0) diam=((1,0),(0,1),(-1,0),(0,-1)) print collideRectDiamond
def drawBall(ballXpos, ballYpos): ball = pygame.rect(ballXPos, ballYPos, BALL_WIDTH, BALL_HEIGHT) pygame.draw.rect(screen, WHITE, ball)
clock = pygame.time.Clock() screen = pygame.display.set_mode((screen_width, screen_height)) def mover_rectangulo(): global speed if rectangulo.top + 50 > screen_height: rectangulo.top += speed def mover_bola(): bola.top rectangulo = pygame.rect(10, 10, 50, 50) bola = pygame.Rect(50) speed = 0 speed_bola_x = 3 speed_bola_y = 3 while True: screen.fill(back_color) for event in pygame.event.get(): if event.type == pygame.KEYDOWN: if event.key == pygame.K_UP: speed = -3 elif event.key == pygame.K_DOWN: speed = 3
def draw(self): self.screen.fill(pygame.Color(0,0,0)) for brick in self.model.bricks: pygame.draw.rect(self.screen, pygame.Color(brick.color[0],brick.color[1],brick.color[2]),pygame.rect(brick.x,brick.y,brick.width,brick.height)) pygame.display.update()
import sys import optparse import pygame if __name__ == "__main__": parser = optparse.OptionParser() parser.add_option("-l", "--leds", dest = "leds", default=60, help="Number of LEDs") parser.add_option("-W", "--width", dest = "width", default=800, help="Windows width") parser.add_option("-H", "--height", dest = "height", default=480, help="Windows height") (options, args) = parser.parse_args() #create the screen pygame.init() window = pygame.display.set_mode((options.width, options.height)) pygame.draw.rect(window, (255, 255, 255), pygame.rect((0, 0), (30, 0), (0,30),(30,30))) padding = 1 pixel_w = (options.width - 2*padding)/options.leds pixel_h = pixel_w for x in range(padding, options.width - pixel_w, pixel_w): pygame.draw.rect(window, (x % 255,(x-100) % 255,255), (x,100,pixel_w,pixel_h),0) #draw it to the screen pygame.display.flip() #input handling (somewhat boilerplate code): while True: for event in pygame.event.get(): if event.type == pygame.QUIT:
def main(): screen = pygame.display.set_mode((640, 480)) pygame.display.set_caption('river crossing game') # sets window title # draw background background = pygame.image.load('Background.bmp').convert() screen.blit(background, (0, 0)) #draw the background screen # draw farmer farmer = pygame.image.load('farmer.bmp').convert() farmerposition = pygame.rect(100,50,75,60) screen.blit(farmer, farmerposition) #draw the farmer farmerMove= STOP # draw wolf wolf = pygame.image.load('wolf.bmp').convert() wolfPosition = pygame.Rect(100,150,75,60) screen.blit(wolf, wolfPosition) #draw the wolf wolfMove=STOP # draw sheep sheep = pygame.image.load('goat.bmp').convert() sheepPosition = pygame.Rect(100,250,75,60) screen.blit(sheep, sheepPosition) #draw the goat sheepMove=STOP # draw cabbage cabbage = pygame.image.load('cabbage.bmp').convert() cabbagePosition = pygame.Rect(100,350,75,60) screen.blit(cabbage, cabbagePosition) #draw the cabbage cabbageMove=STOP # FONT # text1 = font.render('TEST', True, (50, 255, 50)) # RGB, true Anti-Alias # screen.blit(text1, (450, 300)) # plots the text (horiz, vert) # display.update() pygame.display.update() #display all elements farmerMove = STOP #---------Main loop----------------------------------------------------------------------------------------- while 1: for event in pygame.event.get(): if event.type == pygame.QUIT: sys.exit() elif event.type == pygame.KEYDOWN: # Check for key press if event.key== pygame.K_q:#quits the game sys.exit() if event.key== pygame.K_t: # Display some text text() if event.key== pygame.K_a:#does very little printText("hi",screen) if event.key == pygame.K_f: # if key pressed is 'f' key, move farmer (check if moving from left to right or other way) if farmerMove == STOP and farmerPosition.left > 300: farmerMove = LEFT elif farmerMove == STOP and farmerPosition.left < 300: farmerMove = RIGHT if event.key == pygame.K_c: # if key pressed is 'C' key, move CABBAGE (check if moving from left to right or other way) if cabbageMove == STOP and cabbagePosition.left > 300 and farmerPosition.left >300: cabbageMove = LEFT farmerMove=LEFT elif cabbageMove == STOP and cabbagePosition.left < 300 and farmerPosition.left <300: cabbageMove = RIGHT farmerMove=RIGHT if event.key == pygame.K_w: # if key pressed is 'W' key, move WOLF (check if moving from left to right or other way) if wolfMove == STOP and wolfPosition.left > 300 and farmerPosition.left >300: wolfMove = LEFT farmerMove=LEFT elif wolfMove == STOP and wolfPosition.left < 300 and farmerPosition.left <300: wolfMove = RIGHT farmerMove=RIGHT if event.key == pygame.K_s: # if key pressed is 'S' key, move SHEEP (check if moving from left to right or other way) if sheepMove == STOP and sheepPosition.left > 300 and farmerPosition.left >300: sheepMove = LEFT farmerMove=LEFT elif sheepMove == STOP and sheepPosition.left < 300 and farmerPosition.left <300: sheepMove = RIGHT farmerMove=RIGHT #---------------Movement/animation--------------------------------------------------------------------------- #this section for animating the farmer if (farmerMove == RIGHT): if (farmerPosition.left <= (540 - 60)): farmerPosition = farmerPosition.move(5, 0) # move farmer else: farmerMove = STOP if (farmerMove == LEFT): if (farmerPosition.left >= (100)): farmerPosition = farmerPosition.move(-5, 0) # move farmer else: farmerMove = STOP moveMe(farmer,farmerPosition,screen) #this section for animating the cabbage if (cabbageMove == RIGHT): if (cabbagePosition.left <= (540 - 60)): cabbagePosition = cabbagePosition.move(5, 0) # move farmer else: cabbageMove = STOP if (cabbageMove == LEFT): if (cabbagePosition.left >= (100)): cabbagePosition = cabbagePosition.move(-5, 0) # move farmer else: cabbageMove = STOP moveMe(cabbage,cabbagePosition,screen) #this section for animating the sheep if (sheepMove == RIGHT): if (sheepPosition.left <= (540 - 60)): sheepPosition = sheepPosition.move(5, 0) # move farmer else: sheepMove = STOP if (sheepMove == LEFT): if (sheepPosition.left >= (100)): sheepPosition = sheepPosition.move(-5, 0) # move farmer else: sheepMove = STOP moveMe(sheep,sheepPosition,screen) #this section for animating the wolf if (wolfMove == RIGHT): if (wolfPosition.left <= (540 - 60)): wolfPosition = wolfPosition.move(5, 0) # move farmer else: wolfMove = STOP if (wolfMove == LEFT): if (wolfPosition.left >= (100)): wolfPosition = wolfPosition.move(-5, 0) # move farmer else: wolfMove = STOP moveMe(wolf,wolfPosition,screen) # Commenting this out = no animation at all updateScreen(screen) #updates screen once for all items preventing eplilectic fits. # when you comment these, the bmp animation goes crazy. For png, perhaps bliting alpha # here would work. screen.blit(background, cabbagePosition, cabbagePosition)# erase cabbage animation screen.blit(background, farmerPosition, farmerPosition) # erase farmer animation screen.blit(background, wolfPosition, wolfPosition) # erase wolf animation screen.blit(background, sheepPosition, sheepPosition) # erase sheep animation # Runs fine with these commented out? #screen.blit(farmer, farmerPosition) # draw new farmer #pygame.display.update() # and show it all #pygame.time.delay(10) # stop the program for 1/100 second #checks to make sure you haven't lost yet winLoseCheck(farmerPosition,cabbagePosition,sheepPosition,wolfPosition)
def __init__(self, group, pos, size, image): super(Object, self).__init__(group) self.image = image self.rect = pygame.rect(pos, size)
if event.type == pygame.quit(): gameover() elif event.type == pygame.KEYDOWN: if event.type == pygame.K_RIGHT: snake.changetoDir("RIGHT") if event.type == pygame.K_LEFT: snake.changetoDir("LEFT") if event.type == pygame.K_UP: snake.changetoDir("UP") if event.type == pygame.K_DOWN: snake.changetoDir("DOWN") foodpos = foodgenerate.nofood() if (snake.foodpos == 1): score += 1 foodgenerate.setfood(False) window.fill(pygame.color(225, 225, 225)) for pos in snake.getbody(): pygame.draw.rect(window, pygame.color(0, 255, 0), pygame.rect(pos[0], pos[1], 10, 10)) pygame.draw.rect(window, pygame.color(0, 255, 0), pygame.rect(foodpos[0], foodpos[1], 10, 10)) if (snake.checkcollision() == 1): gameover() pygame.display.set_caption("WOW SNAKE GAME" + str(score)) pygame.display.flip() fpv.tick(24)
def __init__(self, x, y): pygame.sprite.Sprite().__init__(self) self.group = pygame.sprite.Group() self.rect = pygame.rect(x, y, WORLDSIZE[0] / 2, WORLDSIZE[1] / 2)
def draw(self): i = 0 while i <= screenResolution[0]: self.screen.blit(self.image,( i , screenResolution[1] -self.image.get_rect().size[1])) self.listRect.append(pygame.rect((i,screenResolution[1] -self.image.get_rect().size[1]),(self.image.get_rect().size[0],self.image.get_rect().size[1]))) i += self.image.get_rect().size[0]
# ball variables (x y certesian coordinates) #stats pisition middle of horizontal and vertical arena ballX = window_width / 2 - line_thickness / 2 ballY = window_height / 2 - line_thickness / 2 #variables to track ball direction ballDirX = -1 ## -1 = left 1 = right ballDirY = -1 ## -1 = up 1 = down # Starting position in middle of game arena playerOnePosition = (window_height - paddle_size) / 2 playerTwoPosition = (window_height - paddle_size) / 2 # create rectangles for ball and paddles paddle1 = pygame.rect(paddle_offset, playerOnePosition, line_thickness, paddle_size) paddle2 = pygame.rect(window_width - paddle_offset - line_thickness, playerTwoPosition, line_thickness, paddle_szie) ball = pygame.rect(ballX, ballY, line_thickness, line_thickness) #function to draw the arena def drawArena(): screen.fill((0, 0, 0)) #draw outline of arena pygame.draw.rect(screen, white, ((0, 0), (window_width, window_height)), line_thickness * 2) #draw centre line pygame.draw.line(screen, white, ((int(window_width / 2)), 0), ((int(window_width / 2)), window_height), (int(line_thickness / 4)))
import pygame from pygame.sprite import Sprite class Bullet(Sprite): def __init__(self, ai_settings, screen, ship) """Create bullet objects at shipts current possition""" super(Bullet, self).__init__() self.screen = screen #Create bullet rect at (0,0) and then set correct position self.rect = pygame.rect(0, 0, aisettings.bullet_width, aisettings.bullet_height) self.rect.centerx = ship.rect.centerx self.rect.top = ship.rect.top #store bullets position as decimal value self.y = float(self.rect.y) self.color = ai_settings.bullet_color self.speed_factor = ai_settings.bullet_speed_factor
def get_rect(self): if not self.is_empty(): return self.deck[-1].rect return pygame.rect(0, 0, 0, 0)