我正在关注这个视频,它在这里说:
self.rect = self.image.get_rect(topleft = pos)
回溯错误:
到目前为止文件中的完整代码:
import pygame
from settings import *
from support import import_folder
from sprites import Generic
from random import randint, choice
class Drop(Generic):
def __init__(self, surf, pos, moving, groups, z):
super().__init__(pos, surf, groups, z)
self.lifetime = randint(400, 500)
self.start_time = pygame.time.get_ticks()
self.moving = moving
if self.moving:
self.pos = pygame.math.Vector2(self.rect.topleft)
self.direction = pygame.math.Vector2(-2, 4)
self.speed = randint(200, 250)
def update(self, dt):
if self.moving:
self.pos += self.direction * self.speed * dt
self.rect.topleft = (round(self.pos.x), round(self.pos.y))
if pygame.time.get_ticks() - self.start_time >= self.lifetime:
self.kill()
class Rain:
def __init__(self, all_sprites):
self.all_sprites = all_sprites
self.rain_drops = import_folder('pydew-valley/graphics/rain/drops/')
self.rain_floor = import_folder('pydew-valley/graphics/rain/floor/')
self.floor_w, self.floor_h = pygame.image.load('pydew-valley/graphics/world/ground.png').get_size()
def create_floor(self):
Drop(
choice(self.rain_floor),
(randint(0, self.floor_w), randint(0, self.floor_h)),
False,
self.all_sprites,
LAYERS['rain floor'])
def create_drops(self):
Drop(
choice(self.rain_drops),
(randint(0, self.floor_w), (0, self.floor_h)),
True,
self.all_sprites,
LAYERS['rain drops'])
def update(self):
self.create_floor()
self.create_drops()
如果必须查看更多文件,我也可以提供。
我已经审查了这个和所有其他相关文件。不过,我似乎找不到我要找的东西。
有人可以帮忙吗?谢谢。