0

我在 python 2 和 pygame 中制作自己的 UI。我有我的主脚本,它为 pygame 中的渲染表面创建“屏幕”变量。

我怎样才能让其他 python 脚本访问 - 并在 - 另一个脚本的表面上呈现?

4

1 回答 1

1

您可以通过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方法。

于 2015-08-04T21:10:06.607 回答