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 ,在一些场景下还会出现类型不兼容,请问有没有更优雅的方法