gpt4 book ai didi

python - 我无法在 Pygame 中绘制 Sprite 图像

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

这是我的代码在 Ball 类 中,我的 get_rect() 方法有一个错误

pygame.init()
pygame.mixer.init()

size = h, w = 500, 500

screen = pygame.display.set_mode(size)
black=0,0,0
gameover=False
image_ball=pygame.image.load('ball.png')
class Ball(pygame.sprite.Sprite):
def __init__(self):
pygame.sprite.Sprite.__init__(self)
self.image = pygame.transform.scale(image_ball, (50, 50))

self.ball_rect = self.image.get_rect()
self.ball_rect.x = random.randrange(w-self.ball_rect.width)
self.ball_rect.y = random.randrange(-100, 100)
self.x_speed=5
self.y_speed=5
def update(self):
self.ball_rect.x+=self.x_speed
if self.ball_rect.right<w:
self.ball_rect.right=w
if self.ball_rect.left<0:
self.ball_rect.left=0
all_sprite=pygame.sprite.Group()
ball_sprite = pygame.sprite.Group()
ball = Ball()
all_sprite.add(ball)
for i in range(10):
b=Ball()
ball_sprite.add(b)
all_sprite.add(b)
while not gameover:
for event in pygame.event.get():
if event.type == pygame.QUIT:
gameover = True
all_sprite.update()
#draw/render
screen.fill(black)
ball_sprite.draw(screen)
pygame.display.flip()
pygame.time.wait(10)
sys.exit()

我在绘制 self.spritedict[spr] = surface_blit(spr.image, spr.rect) 时出错

AttributeError: 'Ball' 对象没有属性 'rect'

最佳答案

AttributeError: 'Ball' object has no attribute 'rect'

嗯,这是正确的,您的 Ball 类没有 rect 属性。

所以简单的改

   self.ball_rect = self.image.get_rect()
self.ball_rect.x = random.randrange(w-self.ball_rect.width)
self.ball_rect.y = random.randrange(-100, 100)

   self.rect = self.image.get_rect()
self.rect.x = random.randrange(w-self.ball_rect.width)
self.rect.y = random.randrange(-100, 100)

关于python - 我无法在 Pygame 中绘制 Sprite 图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58814394/

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