我在 python 2 和 pygame 中制作自己的 UI。我有我的主脚本,它为 pygame 中的渲染表面创建“屏幕”变量。
我怎样才能让其他 python 脚本访问 - 并在 - 另一个脚本的表面上呈现?
我在 python 2 和 pygame 中制作自己的 UI。我有我的主脚本,它为 pygame 中的渲染表面创建“屏幕”变量。
我怎样才能让其他 python 脚本访问 - 并在 - 另一个脚本的表面上呈现?
您可以通过screen
在扩展模块的任何调用上将变量作为参数传递来实现所需的效果。最简单的方法是将您的模块设计为类,其__init__
方法接受屏幕进行渲染:
#extension1.py
class Main(whatever_base_class):
def __init__(self, screen, *args, **kwargs):
self.screen = screen
...
def Draw(self):
#use self.screen to draw on screen.
从您的主脚本中:
from extension1 import Main
#define screen somehow
ext1 = Main(screen, ...)
ext1.Draw()
如果您不能或不想__init__
在扩展中强制创建/修改 an,您可以依赖def setup(screen)
方法或直接将screen
变量传递给Draw
方法。