问题描述
我正在尝试根据从“Python 速成课程”一书中学到的材料编写我的游戏。现在我试图让我的船射击子弹。代码还没有准备好,但是当我测试它时,我遇到了一个错误:2 key,MappingSchema context) at LinqToDB.Common.Internal.Cache.CacheExtensions.GetorCreate[TItem,TKey,TContext](IMemoryCache cache,TKey key,TContext context,Func
。
有人可以看看我的代码并告诉我我做错了什么并提供一些解决方法的提示吗?
这是我得到的回溯:
name 'screen' is not defined
这是我的代码:
Traceback (most recent call last):
File "/media/philip/9074-45DF/Python/rocket/rocket.py",line 139,in <module>
bullet_settings = Bullet(rocket_settings,screen,rocket)
NameError: name 'screen' is not defined
解决方法
screen
变量尚未在运行时定义,因此将 screen
的定义移至 bullet_settings
上方会起作用。
...
pygame.init()
pygame.display.set_icon(icon)
screen = pygame.display.set_mode((rocket_settings.screen_width,rocket_settings.screen_height))
pygame.display.set_caption("Rocket")
rocket = Rocket(screen)
rocket_settings = Settings()
bullet_settings = Bullet(rocket_settings,screen,rocket)
icon = pygame.image.load('/media/philip/9074-45DF/Python/rocket/images/rocket_icon.png')
...