标题: [原创] 批处理cmd中做动画---5分中包你会做动画 [打印本页]
作者: myzwd 时间: 2009-3-10 17:59 标题: 批处理cmd中做动画---5分中包你会做动画
- @echo off&setlocal enabledelayedexpansion&color 0A &cls
- rem by myzwd 2009 -3 -10
- :1
- echo.&echo.&echo.&echo.&echo.&echo.&echo.&echo.
- echo aaa
- echo ----------------------------
- for /l %%1 in (1 1 200) do (call echo.>nul)
- cls
- :2
- echo.&echo.&echo.&echo.&echo.&echo.&echo.
- echo 222
- echo aaa
- echo ----------------------------
- for /l %%1 in (1 1 200) do (call echo.>nul)
- cls
- :3
- echo.&echo.&echo.&echo.&echo.&echo.
- echo 333
- echo 222
- echo aaa
- echo ----------------------------
- for /l %%1 in (1 1 200) do (call echo.>nul)
- cls
- :4
- echo.&echo.&echo.&echo.&echo.
- echo 444
- echo 333
- echo 222
- echo aaa
- echo ----------------------------
- for /l %%1 in (1 1 200) do (call echo.>nul)
- cls
- :5
- echo.&echo.&echo.&echo.
- echo 555
- echo 444
- echo 333
- echo 222
- echo aaa
- echo ----------------------------
- for /l %%1 in (1 1 200) do (call echo.>nul)
- cls
- :6
- echo.&echo.&echo.
- echo 666
- echo 555
- echo 444
- echo 333
- echo 222
- echo aaa
- echo ----------------------------
- for /l %%1 in (1 1 200) do (call echo.>nul)
- cls
- :7
- echo.&echo.
- echo 777
- echo 666
- echo 555
- echo 444
- echo 333
- echo 222
- echo aaa
- echo ----------------------------
- for /l %%1 in (1 1 200) do (call echo.>nul)
- cls
- :8
- echo.
- echo 888
- echo 777
- echo 666
- echo 555
- echo 444
- echo 333
- echo 222
- echo aaa
- echo ----------------------------
- for /l %%1 in (1 1 200) do (call echo.>nul)
- cls
- :9
- echo 999
- echo 888
- echo 777
- echo 666
- echo 555
- echo 444
- echo 333
- echo 222
- echo aaa
- echo ----------------------------
- for /l %%1 in (1 1 200) do (call echo.>nul)
- echo 谢谢观看 本人借鉴了flash的帧的概念,做了这个动画演示
- echo 以上是一个保持10行不变的动画演示。
- echo 从此以后,动画不在是高手的专利
- goto:eof
- cmd中动画难做,但是利用flash的帧的概念,确很容易创建动画。上面的每个子程序就是一帧
- 上面的程序只是演示动画原理。我坚信从此以后,动画不在是高手的专利了。利用帧的概念做动画要比
- 用其它方法简单的多,易学易用。
- 有兴趣的朋友,可以试试。你5分钟就会做动画。
- 强烈建议创建动画时,首先定义帧,每一帧的高度一定要固定不变!!!,如上面的演示每帧是10行高,然后,再利用帧循环就可以了。
复制代码
- @echo off&setlocal enabledelayedexpansion&color 0A &cls
- rem by myzwd 2009 -3 -10
- :main
- call:1
- goto:eof
- :1
- for /l %%i in (1 1 8) do (
- set /a n+=1
- set /a m=8-!n!
- for /l %%i in (!m! -1 1) do (echo.)
- for /l %%i in (1 1 !n!) do (echo aaa)
- echo ----------------------------
- for /l %%1 in (1 1 200) do (call echo.>nul)
- cls
- )
- :end
- for /l %%i in (1 1 8) do (echo aaa)
- echo ----------------------------
- echo 这是把上面的代码按照帧动画的想法整理了一下。
- goto:eof
复制代码
set /a m=8-!n! 这里设置的就是m+n=8设置的就是行高。
首先说明:这个代码不是为好玩编制的,但足以说明帧动画的思想。
[ 本帖最后由 myzwd 于 2009-3-10 21:02 编辑 ]
作者: Batcher 时间: 2009-3-10 19:00
建议区分一下DOS和CMD
作者: hkmhd 时间: 2009-3-10 20:01
还在想会不会很好玩,不过看到代码不用试验也知道很无聊了
作者: wxcute 时间: 2009-3-10 20:05
多谢分享,这是一种思路,对于新手了解一些这方面的内容很有帮助。
作者: myzwd 时间: 2009-3-10 20:57 标题: 回复 3楼 的帖子
这只能说是你没明白代码的意思。这里不是说代码好玩。
说的是代码体现的思想。!!!!
作者: BBCC 时间: 2009-3-10 20:57
差别不大的可以loop出来,但是如果差别大的就要一帧一帧来了...多强大的体力活啊.
作者: myzwd 时间: 2009-3-10 21:07 标题: 回复 6楼 的帖子
你可以多编制几个子程序啊。如果你还是觉得累的话,那就只好不玩动画了。呵呵。
本来cmd玩动画就不是强项。flash才是强项嘛。再说了,这是一种做动画的思路。
并不阻碍其它的思路嘛。
作者: freeback 时间: 2009-3-13 19:25
使用ping可能会更简便一些
作者: txb1989 时间: 2009-4-27 17:50
像是明白了一点,有没有明白
作者: jackmux 时间: 2012-5-29 09:36
我想问一下 echo.&echo.&echo.&echo.&echo.&echo. 是怎么理解的
作者: 悬崖之树 时间: 2012-7-23 22:06
我也写了两个,代码不同,效果一样!- @echo off&setlocal enabledelayedexpansion&color 0A &cls
-
- :ks
- for /l %%i in (1 1 10) do (
- set /a n+=1
- set /a m=9-!n!
- for /l %%i in (!m! -1 0) do (echo.)
- echo ----------------------------
- for /l %%i in (2 1 !n!) do (echo.)
-
- for /l %%i in (1 1 200) do (call echo.>nul)
- cls
- )
- set n=0
- goto ks
复制代码
- @echo off&setlocal enabledelayedexpansion&color 0A &cls
-
- : ks
- set n=0
- for /l %%i in (1 1 10) do (
-
- set /a m=9-!n!
- for /l %%i in (1 1 !m!) do (echo.)
- echo ----------------------------
- for /l %%i in (1 1 !n!) do (echo.)
- set /a n=!n!+1
-
- for /l %%i in (1 1 200) do (call echo.>nul)
- cls
- )
-
- goto ks
复制代码
作者: 46897asc 时间: 2012-7-24 10:32
用批处理绘图应该很麻烦的。
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |