你如何使用 pygame.sprite.Sprite?

how do you use pygame.sprite.Sprite?

我目前正在单独的文件下编写一个小游戏,但遇到 pygame.sprite.Sprite 的问题。每次我去 运行 播放器 class 我都会得到这个错误 AttrbuteError: "module" object has no attribute "sprite"。我在这个网站上做了很多搜索,也在 pygame 网站上寻找答案,但我只找到了其他代码和答案,不能解决我当前的问题。如果有人可以帮助我解决我的问题,那就太好了。 这是我给玩家的class:

import pygame
import pygame.sprite as Sprite
class player(Sprite.sprite):
   def _init_(self,plyrmovement,plyrhealth,plyrdirection):
      Sprite.Sprite._init_(self)
      def plyrmovement(left,right):
          position=[100,100]
          direct_left = 'player left'
          direct_right = 'player right'
          def right():
              if event.key == ord('d'):
                  position[0] += 5
                  plyrdirection = direct_right
                  sprite.sprite='playerleft'
        def left():
            if event.key == ord('a'):
                position[0] -= 5
                plyrdirection = direct_left
                sprite.sprite = 'playerright'
        def shoot(self,bullet):
            if event.key == K_SPACE:
                bullet.bulletmove
        def plyrhealth(self):
            self.health = 100


class bullet(pygame.Sprite.Sprite):
    def _init_(self,bulletmove,bulletdamage):
        pygame.image.load('bullet sprite.png')

全名pygame.sprite.Sprite

如果您使用 import pygame.sprite as Sprite,那么正确的名称是 player(Sprite.Sprite) 而不是 player(Sprite.sprite) - 请参阅 Sprite.

中的上层 S

至于我,最好使用 class player(pygame.sprite.Sprite)bullet(pygame.sprite.Sprite) - 第一个 sprite 的下部 s 和第二个 [=16] 的上部 S =] - 没有 import pygame.sprite as Sprite

import pygame


class Player(pygame.sprite.Sprite):

    def __init__(self,plyrmovement, plyrhealth, plyrdirection):
        pygame.sprite.Sprite.__init__(self)

    # ...rest...

class Bullet(pygame.sprite.Sprite):

    def __init__(self, bulletmove, bulletdamage):
        pygame.sprite.Sprite.__init__(self)

    # ...rest...

顺便说一句: