努力的林某人 发表于 2022-4-2 21:47:16

python外星人入侵的setting问题

class Settings():
    """储存游戏的所有设置的类"""
    def __init__(self):
      """初始化游戏设置"""
      #屏幕设置
      self.screen_width = 1200
      self.screen_height = 800
      self.bg_color = (230, 230, 230)
      
import sys
import pygame

from settings import Settings
def run_game():
    #初始化游戏并建立一个屏幕对象
    pygame.init()
    ai_settings = Settings
    screen = pygame.display.set_mode(
      (ai_settings.screen_width, self.screen_height))
    pygame.display.set_caption("Alien Invasion")
    #设置背景色
    bg_color = (230, 230, 230)
    #开始游戏的主循环
    while True:
      #监视鼠标键盘
      for event in pygame.event.get():
            if event.type == pygame.QUIT:
                sys.exit()
      #循环后重绘
      screen.fill(ai_settings.bg_color)
      #让最近的绘制屏幕可见
      pygame.display.flip()
run_game()
代码里的第13行from settings import Settings语句总是显示No module named 'settings'反复试了好久也不知道为什么会出这样的问题。请问各位大佬这里应该怎么改?

努力的林某人 发表于 2022-4-2 22:16:47

.......反复试了好久还是有问题

__add__ 发表于 2022-5-1 11:13:32

你这串代码本来就有问题
你把run_game函数放到Settings类里
把导入sys和pygame的代码放到第一和第二行
13行的代码删掉(根本不是一个库,只是一个类而已。。。)
然后实例化代码(如s = Settings())
最后调用run_game
这样应该就行了

__add__ 发表于 2022-5-1 11:16:18

奥对了,别忘了加上实例化的变量名
(按我上面的方法应该是s.run_game())
页: [1]
查看完整版本: python外星人入侵的setting问题