python - 为什么屏幕功能总是出错?
问题描述
主文件
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, ai_settings.screen.height))
pygame.display.set_caption("Rocket Flying")
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()
设置.py
class Settings():
def __init__(self):
self.screen_width = 1200
self.screen_height = 800
self.bg_color = (87,250,255)
回溯(最近一次通话最后):
File "C:\Users\C4nEzra\Desktop\Program\Rocket_Flaying\main.py", line 24, in <module> run_game() File "C:\Users\C4nEzra\Desktop\Program\Rocket_Flaying\main.py", line 11, in run_game (ai_settings.screen_width, ai_settings.screen.height)) AttributeError: 'Settings' object has no attribute 'screen'
解决方案
ai_settings.screen_width
在您的代码中,您最初为函数中的第一个参数编写,set_mode(...)
但第二个参数具有ai_settings.screen.height
. 您很可能需要将第二个句点替换为下划线 ( ai_settings.screen_height
)。
推荐阅读
- pywinauto - Pywinauto获取AfxFrameOrView42的内容?
- java - 火花java代码到python
- python - 将字典写入 json 会导致一个空文件
- angularjs - 在 ionic 3 中实施 razorpay 后出现错误
- python - 向熊猫数据框添加新列时出错
- anaconda - 使用构建参数安装 conda 包
- javascript - 如何在 component.ts 代码而不是 html 中编写 ngxs 异步可观察插值?
- java - ArrayList,用 CharAt 添加
- jquery - 必填字段验证的jQuery不起作用
- r - 将条件前后的行插入data.frame