前段时间做了一个华强买瓜的字符动画版本。结果有网友问我:
“大佬,做出来的怎么有屏闪啊,怎么解决啊?”
我,想了想~ 哎呀,最近太忙了,等有时间再看吧。于是在今天我终于抽出点时间把这个问题解决了。
一、前言
那么肯定有网友要问如何制作字符动画呢~ 可以参考我的这篇文章:
华强买瓜–Java字符动画播放如何实现?(含音频)
二、优化屏闪问题
由于我们在打印字符动画时使用了一个清屏方法:
new ProcessBuilder("cmd", "/c", "cls").inheritIO().start().waitFor();
因为这种清屏方法有副作用,所以我找到了另外两种替代方式,发现大大改善了屏闪问题。
方法1:
System.out.flush();
方法2:
public final static void clearConsole(){ try{ final String os = System.getProperty("os.name"); if (os.contains("Windows")){ Runtime.getRuntime().exec("cls"); }else{ Runtime.getRuntime().exec("clear"); } }catch (final Exception e){ // Handle any exceptions } }
可以用上面两种方式替代之前代码中的清屏代码。然后重新打包,即可改善屏闪问题,但是想从根本上解决这个问题,可能需要用到Java的绘图api,或者。。。换一种语言去实现,python我看就没有这种现象。。
喜欢的朋友欢迎一键三连。我们一起学习,进步~~