如何从批处理文件动画中删除闪烁? [英] How do I remove flickering from a batch file animation?
本文介绍了如何从批处理文件动画中删除闪烁?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我一直在批量制作一个假图形用户界面,作为我正在做的一篇YouTube评论的结束语。它基本上是一堆框画字符和文本,有点像80年代的单色终端。不管怎么说,程序里有一些动画,当我转到下一阶段没有动画的部分时,它们会不停地闪烁,并短暂地闪烁。我设置框架的方式是,嗯,只是用框画字符和文本编写的GUI,形成整个屏幕。动画的设置是在一帧之后,使用"ping localhost"作为计时器,然后是"cls",然后是下一帧,依此类推。我认为"CLS"是导致所有闪烁的原因。通常情况下,我会接受闪烁,因为我相信它会增加80年代以外的东西的感觉,然而,由于我计划在YouTube视频中使用这一点,让全世界都看到,我不想可能成为某人癫痫发作的原因。有没有其他方法可以消除闪烁,或者有其他方法来设置动画,这样闪烁就不会发生?我已经完成了整个程序,我不想把它全部扔掉。其他信息是,我使用的是Windows 10,并使用Notepad++制作了这个东西。
推荐答案
详细说明SomethingDark的评论-
仅Windows 10支持虚拟终端代码
可以通过解析提示符$E命令来定义转义控制字符。一种方法是: for /F "delims=#" %%a in ('"prompt #$E# & for %%a in (1) do rem"') do set "E=%%a"
另一种更简单的方法是:
for /F %%a in ('Echo prompt $E ^|cmd') do set "E=%%a"
支持绝大多数序列的described here
Type
命令还支持虚拟终端代码,通过将更改的单元格输出到文件,然后将该文件键入屏幕,从而实现高效的屏幕更新。注意:使用带有UTF-8代码页字符的类型时可能会出现问题,即使设置了正确的代码页也是如此-为避免这些问题,EXPLICITY将TYPE FILE命令重定向到
Con
。IE:Type "filename.ext" > Con
定义转义字符%E%
后,可以使用以下命令取消控制台光标:
<nul set /P "=%E%[?25l"
并通过以下方式启用:
<nul Set /P "=%E%[?25h"
可以使用以下命令清除单个单元格:
rem /* for current cell location */
<nul Set /P "=%E%[1X"
rem /* for a cell located at substituted y x coordinate value */
<nul Set /P "=%E%[y;xH%E%[1X"
可以在this answer
找到生成帧速率一致的无闪烁动画的示例脚本这篇关于如何从批处理文件动画中删除闪烁?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文