Node.js控制台动画绘制跨年祝福
实现原理动画都需要一帧帧的刷新控制台动画也不例外.那控制台是怎么刷新的呢控制台中有一种叫做TTY特点是可以设置颜色可以清除或修改某个位置的内容.平时我们用的Terminal大多都是这种.Node.js里面可以通过process.stdout.isTTY来查看是否是TTY类型的标准输出流然后提供了readline这个包来操作它.比如用readline.cursorTo stream x y来移动光标位置readline.clearLine stream来清除某行的内容用readline.clearScreenDown stream来清除某个位置之后的所有内容.能够移动光标位置能够清除内容也就能够刷新能够做任意的绘制这是控制台动画的基础.绘制用readline.wrtie data来输出字符可以指定字符的颜色用chalk这个包.只是输出带颜色的字符么那张图片和那个艺术字呢其实那也是字符来做的只不过给上了不同的颜色而已控制台只能显示字符.
用户评论