gpt4 book ai didi

python - 在外星人入侵pygame中为什么这个错误显示 "' pygame.Rect'对象没有属性 'get_rect'“?

转载 作者:太空宇宙 更新时间:2023-11-03 19:54:16 28 4
gpt4 key购买 nike

在外星人入侵pygame中,为什么会出现以下错误?

'pygame.Rect' object has no attribute 'get_rect'

import pygame
from pygame.sprite import Sprite

class Alien(Sprite):

def __init__(self,ai_settings,screen):
super().__init__()
self.screen=screen
self.ai_settings=ai_settings

#alien image
self.image=pygame.image.load('images/alien.bmp')
self.rect=self.image.get_rect()

#new alien near top of screen
self.rect.x=self.rect.width
self.rect.y=self.rect.height

#alien's position
self.x=float(self.rect.x)

def blitme(self):
self.screen.blit(self.image,self.rect)

def check_edges(self):
#true if alien at ages of screen
screen_rect=self.screen.get_rect()
if self.rect.right >= screen_rect.right :
return True
elif self.rect.left <= 0:
return True

def update(self):
self.x += (self.ai_settings.alien_speed_factor * self.ai_settings.fleet_direction)
self.rect.x=self.x

最佳答案

screen 是一个 pygame.Rect 对象,如上所述,它没有 get_rect 方法。您需要将 Surface 对象传递到屏幕而不是 Rect 对象。

参见:

https://www.pygame.org/docs/ref/display.html#pygame.display.set_mode

关于python - 在外星人入侵pygame中为什么这个错误显示 "' pygame.Rect'对象没有属性 'get_rect'“?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59632740/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com