当我less在Mac终端中使用该命令时,我显示了指定文件的23行切片.如果我向下移动文件,然后在终端窗口中向上滚动,我在当前切片之前看不到任何文件内容.相反,我看到我在使用之前键入的命令less.
我想使用这个或类似的效果创建一个ascii游戏界面,只显示当前屏幕,没有历史记录.我会在屏幕上绘制我的帧并仅更改这些帧中的文本或选项.这在大多数或完全在命令行环境中运行的旧系统中非常常见.
是否有提供此功能的Python模块?这是我能够或应该自己实施的效果吗?
以下是一些可以从此效果中受益的示例屏幕元素.
+-------------------------------------------------------------------+
| |
| Dialog dialog dialog dialog dialog dialog dialog dialog dialog |
| dialog dialog dialog dialog dialog dialog dialog dialog dialog |
| dialog dialog dialog dialog dialog dialog dialog dialog dialog |
| dialog dialog dialog dialog dialog dialog dialog dialog dialog |
| dialog dialog dialog dialog. |
| |
| |
| |
+--------------------+---------------+------------------------------+
| Attack | South | HP/Max MP/Max |
| > Cast Magic | - | Tom: 120/120 60/91 |
| Use Item | New | > Dick: 27/133 47/47 |
| Tactics | Schwartzton | Harry: 87/104 16/113 |
+--------------------+---------------+------------------------------+
Run Code Online (Sandbox Code Playgroud)
我也一直在为这个问题苦苦挣扎。我想要一个简单的跨平台解决方案,所以我扩展了asciimatics以提供一组小部件来创建这样的基于表单的 UI。例如:
生成的代码应该非常简洁,并且可以在任何现代操作系统(包括 Windows、Linux 和 OSX)上运行,而无需安装额外的本机库。正如您从联系人列表示例中看到的那样,标准小部件很容易布置并且应该可以满足您的大部分需求。