import sys
import pygame
def check_event():
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
def update_screen(ai_setting, screen, ship):
screen.fill(ai_setting.bg_color)
ship.blitme()
pygame.display.flip()
属性bg_color
和方法flip()
和blitme()
来自同一目录中的另一个.py
文件。
但是我不明白如何在没有.py
的情况下使用此import
文件并调用它们?
代码摘自《 Python Crash Course》这本书,第248页。
答案 0 :(得分:0)
之所以能够访问其他变量和方法,是因为一开始要导入sys
模块。
Python附带了许多可导入的模块,而sys是其中之一。 sys模块是一组函数,这些函数提供有关Python脚本如何与主机系统交互的重要信息。
sys模块具有有关以下信息:
答案 1 :(得分:0)
def update_screen()
仅是定义,Python不检查定义中的变量是否正确。当您执行此功能时,它将检查变量。除了ship
中的update_screen()
之外,您只是在def update_screen(..., ship)
中作为参数获取的局部变量,因此您不会直接从其他文件访问ship.blitme()
。
我希望您将此代码导入其他文件,并在其他文件中使用类Ship
的实例执行该代码,而该实例在其他文件中具有定义。然后Python将现有实例Ship
分配给ship
内的局部变量update_screen(..., ship)
,并将使用该实例中的方法blitme()
。
ai_settings
和ai_setting.bg_color
也是如此。
与flip()
一样-您在此文件中导入pygame
,并且它也导入pygame.display
,因此您可以直接访问此文件中的pygame.display.flip()
。