我正在做某种游戏,但我只设法完成了开始屏幕。现在我正在尝试进行第一级的介绍(所以一个屏幕有一些解释和一个按钮可以继续)。这段程序是用另一个文件编写的,所以我没有得到1000行文件。Pygame,导入模块
但现在我有一个问题。我用我的启动级别:
import level1 # here is my code of the level
level1.level(screen) # "level" is the class and screen is used so pygame
# uses the same screen and doesn't start a new one
这是level1.py:
class level():
def __init__(self,originalscreen):
screen = originalscreen
self.levelintro()
def levelintro(self):
# Setting some variables
levelintro = True
# Background
background = pygame.Surface(screen.get_size()) # Change this
background = background.convert()
background.fill((255,0,0))
# "Got it" button
gotitbutton = pygbutton.PygButton((350, 450, 300, 40))
while levelintro:
screen.fill(0)
# Blitting
screen.blit(background, (0,0))
gotitbutton.draw(screen)
# Refreshing screen
pygame.display.flip()
所以现在我的问题:在我原来的.py,我进口pygame的。但是现在我试图在level1.py中导入pygame,但它不起作用。我如何导入它?
Thx为您的帮助! 卢卡斯
PS:对不起,我的英语不好,我是荷兰人......
编辑: 如果我把“进口pygame的”我在全班同学面前:
Traceback (most recent call last):
File "C:\Users\Lukas\Google Drive\Project\0.1\Project.py", line 17, in <module>
class startscreen():
File "C:\Users\Lukas\Google Drive\Project\0.1\Project.py", line 51, in startscreen
level1.level(screen)
File "C:\Users\Lukas\Google Drive\Project\0.1\level1.py", line 8, in __init__
self.levelintro()
File "C:\Users\Lukas\Google Drive\Project\0.1\level1.py", line 15, in levelintro
background = pygame.Surface(screen.get_size()) # Change this
NameError: global name 'screen' is not defined
我不不明白这一点,因为我用level1.level(屏幕)调用方法“level”,所以它通过屏幕,然后它设置屏幕=原始屏幕(女巫等于屏幕从我的原始文件)
如果我把“导入pygame“在我的课堂,我得到:
Warning (from warnings module):
File "C:\Users\Lukas\Google Drive\Project\0.1\level1.py", line 3
class level():
SyntaxWarning: import * only allowed at module level
Traceback (most recent call last):
File "C:\Users\Lukas\Google Drive\Project\0.1\Project.py", line 17, in <module>
class startscreen():
File "C:\Users\Lukas\Google Drive\Project\0.1\Project.py", line 51, in startscreen
level1.level(screen)
File "C:\Users\Lukas\Google Drive\Project\0.1\level1.py", line 9, in __init__
self.levelintro()
File "C:\Users\Lukas\Google Drive\Project\0.1\level1.py", line 16, in levelintro
background = pygame.Surface(screen.get_size()) # Change this
NameError: global name 'pygame' is not defined
>>>
你说在你的'level1.py'文件中导入Pygame不起作用。你是什么意思?当你尝试它时你会得到一个例外吗?如果是这样,请添加完整的回溯到你的问题。 – Blckknght
我编辑了我原来的帖子:) – user2395313