class GameStart(GameManager):
def __init__(self, metadata: Dict[str, str]):
super().__init__(metadata)
self.bird: str = random.choice(listdir_clean(settings.BIRD_IMG_PATHS))
self.metadata['bird'] = self.bird
# load images
self.bird_image: Union[surface.Surface, None] = None
self.background_image: Union[surface.Surface, None] = None
self.ground_image: Union[surface.Surface, None] = None
self.start_image: Union[surface.Surface, None] = None
self._load_content()
以上是我会先声明一些空的图片对象,之后再在 load_content 里面加载这些对象
我不能直接声明一个 Surface 类型再赋值为 None ,这样插件会报错,也无法通过 mypy 类型检查,但是赋值为 Union 类型不仅每次要判断非 None ,在一些场景下还会出现类型不兼容,请问有没有更优雅的方法
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.