设置asciimatics的默认背景

问题描述

我知道不可能告诉asciimatics使用终端的当前配色方案(因为asciimatics无法查询终端)。但是我希望至少 可以控制并自己选择配色方案。

我在文档的任何地方都找不到如何更改认的前景色/背景色。

我正在使用standard demo

from asciimatics.screen import Screen
from asciimatics.scene import Scene
from asciimatics.effects import Cycle,Stars
from asciimatics.renderers import figletText

def demo(screen):
    effects = [
        Cycle(
            screen,figletText("ASCIIMATICS",font='big'),screen.height // 2 - 8),Cycle(
            screen,figletText("ROCKS!",screen.height // 2 + 3),Stars(screen,(screen.width + screen.height) // 2)
    ]
    screen.play([Scene(effects,500)])

Screen.wrapper(demo)

我希望背景为黄色。不是文本元素的背景,而是整个背景(我会说Screen的背景)

我该怎么做?

解决方法

对您的问题的简短回答是将 Background 效果添加到您的 Scene。如 here 所述,您可以设置任何背景颜色。

但是,有些效果比其他效果更旧,并且早于背景颜色支持。遗憾的是,CycleStars 都在此列表中,因此没有等效的 bg 设置,因此需要更新以按预期进行更改。我怀疑它们还需要进行调整,以期待后台将强制执行的完全刷新。如果需要,请访问 asciimatics gitter 频道。