鱼C论坛

 找回密码
 立即注册
查看: 1956|回复: 1

pygame求解

[复制链接]
发表于 2020-9-1 20:52:55 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
我要将星星随机地拜访在屏幕上。 以下的源代码:    运行到stars.draw(screen) 报错 AttributeError: 'Star' object has no attribute 'rect'   求解 错哪了,以及如何改。
import pygame
from sys import exit
import random
from pygame.sprite import Sprite
from pygame.sprite import Group

class Star(Sprite):
    def __init__(self, screen):
        super(Star, self).__init__()
        self.image = star = pygame.image.load('images\\star.png')
        self.screen = screen
        self.star_rect = self.image.get_rect()
        self.screen_rect = screen.get_rect()
        self.star_rect.center = self.screen_rect.center

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

def create_stars(screen, stars):
    """创建星星群"""
    star = Star(screen)
    screen_rect = screen.get_rect()
    number_x = int(screen_rect.width / (2*star.star_rect.width))
    number_y = int(screen_rect.height / (2*star.star_rect.height))
    random_number_y = random.randint(0, number_y)
    random_number_x = random.randint(0, number_x)
    for y in range(random_number_y):
        for x in range(random_number_x):
            star_new = Star(screen)
            star_new.star_rect.x = star.star_rect.width + 2*x*star.star_rect.width
            star_new.star_rect.y = star.star_rect.height + 2*y*star.star_rect.height
            stars.add(star_new)

def main_star():
    pygame.init()
    screen = pygame.display.set_mode((800, 600))
    pygame.display.set_caption("星星闪耀")

    stars = Group()     # 创建星星的空编组
    create_stars(screen, stars)   # 将星星放入空编组中

    while True:

        stars.draw(screen)
        pygame.display.flip()

        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                exit()

main_star()

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-9-1 21:04:06 | 显示全部楼层
已解决。。我将class Star类的时候用的是self.star_rect = self.image.get_rect()    中的star_rect全部改成rect就行了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-18 20:13

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表