1

我了解无法告诉 asciimatics 使用终端当前的配色方案(因为asciimatics无法查询终端)。但我希望至少有一些控制权并且能够自己选择配色方案。

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

我正在使用标准演示

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!", font='big'),
            screen.height // 2 + 3),
        Stars(screen, (screen.width + screen.height) // 2)
    ]
    screen.play([Scene(effects, 500)])

Screen.wrapper(demo)

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

我怎么做?

4

1 回答 1

1

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

但是,某些效果比其他效果更早,并且早于背景颜色支持。可悲的是,Cycle并且Stars在此列表中,因此没有等效bg设置,因此需要更新才能按预期工作以适应该更改。我怀疑它们还需要进行调整,以期待 Background 将强制执行的全面刷新。如果您需要进行这项工作,请访问 asciimatics gitter 频道。

于 2020-12-30T14:45:40.840 回答