首页 > 解决方案 > 导入未正确解析

问题描述

导入播放器没有得到解决,我不知道为什么。它与我的 main.py 在同一个文件夹中。名称拼写正确,我只是对它为什么不读取“player.py”文件感到困惑。我已经完成了我想到的一切,所以现在我迷路了。我已经在同一个文件夹中导入了其他文件,但由于某种原因,这个文件没有得到解决。

import os.path
import sys
import pygame
from pygame.constants import USEREVENT
from pygame.sprite import Sprite

from settings import Settings
from player import player

class Slingshot_Adventures:
    """Overall class to manage game assets and behavior."""

    def __init__(self):
          """Initialize the game, and create game resources."""
          pygame.init()
        
          self.screen = pygame.display.set_mode((1280, 720))
          pygame.display.set_caption('Slingshot Adventures')
           
          # Background
          self.clock = pygame.time.Clock()
          self.bg = pygame.image.load_basic(os.path.join('Final/bg.bmp'))

          self.bg_color = (0, 0, 0)

    def run_game(self):
          """Start the main loop for the game."""
        
          while True:
              # Watch for keyboard and mouse events.
              for event in pygame.event.get():
                  if event.type == pygame.QUIT:
                      sys.exit()

               # Redraw the screen during each pass through the loop.
                  self.screen.fill(self.bg_color)
                  self.screen.blit(self.bg,(0,0))
                  
               # Make the most recently drawn screen visible.
                  pygame.display.flip()

                  # Load player sprite
                  self.player = pygame.image.load_basic(os.path.join('Final/Walk3.bmp'))

                  self.runner = player(200,313,64,64)
                  self.speed = 30
                  self.run = False
                  
                  while self.run:
                    self.redrawWindow()
                    self.clock.tick(self.speed)
                    
                    self.bgx -= 1.4
                    self.bgX2 -= 1.4
                    if self.bgX > self.bg.get_width() * -1:
                            self.bg.get_width()
                    if self.bgX2> self.bg.get_width() * -1:
                            self.bg.get_width()

                    for event in pygame.event.get():
                            if event.type == pygame.QUIT:
                                    self.run = False
                                    pygame.quit()
                                    quit()
                            if event.type == USEREVENT+1:
                                    self.speed += 1   
                
                    self.keys = pygame.key.get_pressed()
                    if self.keys[pygame.K_space] or self.keys[pygame.K_UP]:
                            if not (self.runner.jumping):
                                    self.runner.jumping = True

                # Player
                    class player(Sprite):
                        def __init__(self, screen):
                         super().__init__()
    
                         self.screen = screen

                   



if __name__ == '__main__':
     # Make a game instance, and run the game.
     ai = Slingshot_Adventures()
     ai.run_game()
#player.py

import pygame
import os.path
from pygame.sprite import Sprite

class player(Sprite):
    def __init__(self, screen):
      super().__init__()
    
      self.screen = screen

    # Load player sprite
      self.player = pygame.image.load_basic(os.path.join('Final/Walk3.bmp'))

标签: pythonpygame

解决方案


推荐阅读