Board logo

标题: [原创] 批处理cmd中做动画---5分中包你会做动画 [打印本页]

作者: myzwd    时间: 2009-3-10 17:59     标题: 批处理cmd中做动画---5分中包你会做动画

  1. @echo off&setlocal enabledelayedexpansion&color 0A &cls
  2. rem  by myzwd 2009 -3 -10
  3. :1
  4. echo.&echo.&echo.&echo.&echo.&echo.&echo.&echo.
  5. echo          aaa
  6. echo ----------------------------
  7. for /l %%1 in (1 1 200) do (call echo.>nul)
  8. cls
  9. :2
  10. echo.&echo.&echo.&echo.&echo.&echo.&echo.
  11. echo          222
  12. echo          aaa
  13. echo ----------------------------
  14. for /l %%1 in (1 1 200) do (call echo.>nul)
  15. cls
  16. :3
  17. echo.&echo.&echo.&echo.&echo.&echo.
  18. echo          333
  19. echo          222
  20. echo          aaa
  21. echo ----------------------------
  22. for /l %%1 in (1 1 200) do (call echo.>nul)
  23. cls
  24. :4
  25. echo.&echo.&echo.&echo.&echo.
  26. echo          444
  27. echo          333
  28. echo          222
  29. echo          aaa
  30. echo ----------------------------
  31. for /l %%1 in (1 1 200) do (call echo.>nul)
  32. cls
  33. :5
  34. echo.&echo.&echo.&echo.
  35. echo          555
  36. echo          444
  37. echo          333
  38. echo          222
  39. echo          aaa
  40. echo ----------------------------
  41. for /l %%1 in (1 1 200) do (call echo.>nul)
  42. cls
  43. :6
  44. echo.&echo.&echo.
  45. echo          666
  46. echo          555
  47. echo          444
  48. echo          333
  49. echo          222
  50. echo          aaa
  51. echo ----------------------------
  52. for /l %%1 in (1 1 200) do (call echo.>nul)
  53. cls
  54. :7
  55. echo.&echo.
  56. echo          777
  57. echo          666
  58. echo          555
  59. echo          444
  60. echo          333
  61. echo          222
  62. echo          aaa
  63. echo ----------------------------
  64. for /l %%1 in (1 1 200) do (call echo.>nul)
  65. cls
  66. :8
  67. echo.
  68. echo          888
  69. echo          777
  70. echo          666
  71. echo          555
  72. echo          444
  73. echo          333
  74. echo          222
  75. echo          aaa
  76. echo ----------------------------
  77. for /l %%1 in (1 1 200) do (call echo.>nul)
  78. cls
  79. :9
  80. echo          999
  81. echo          888
  82. echo          777
  83. echo          666
  84. echo          555
  85. echo          444
  86. echo          333
  87. echo          222
  88. echo          aaa
  89. echo ----------------------------
  90. for /l %%1 in (1 1 200) do (call echo.>nul)
  91. echo 谢谢观看  本人借鉴了flash的帧的概念,做了这个动画演示
  92. echo 以上是一个保持10行不变的动画演示。
  93. echo 从此以后,动画不在是高手的专利
  94. goto:eof
  95. cmd中动画难做,但是利用flash的帧的概念,确很容易创建动画。上面的每个子程序就是一帧
  96. 上面的程序只是演示动画原理。我坚信从此以后,动画不在是高手的专利了。利用帧的概念做动画要比
  97. 用其它方法简单的多,易学易用。
  98. 有兴趣的朋友,可以试试。你5分钟就会做动画。
  99. 强烈建议创建动画时,首先定义帧,每一帧的高度一定要固定不变!!!,如上面的演示每帧是10行高,然后,再利用帧循环就可以了。
复制代码
  1. @echo off&setlocal enabledelayedexpansion&color 0A &cls
  2. rem  by myzwd 2009 -3 -10
  3. :main
  4. call:1
  5. goto:eof
  6. :1
  7. for /l %%i  in (1 1 8) do (
  8. set /a n+=1
  9. set /a m=8-!n!
  10.    for /l %%i in (!m! -1 1) do (echo.)
  11.    for /l %%i in (1 1 !n!) do (echo aaa)
  12. echo ----------------------------
  13. for /l %%1 in (1 1 200) do (call echo.>nul)
  14. cls
  15. )
  16. :end
  17. for /l %%i in (1 1 8) do (echo aaa)
  18. echo ----------------------------
  19. echo  这是把上面的代码按照帧动画的想法整理了一下。
  20. 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

我也写了两个,代码不同,效果一样!
  1. @echo off&setlocal enabledelayedexpansion&color 0A &cls
  2. :ks
  3. for /l %%i  in (1 1 10) do (
  4. set /a n+=1
  5. set /a m=9-!n!
  6.    for /l %%i in (!m! -1 0) do (echo.)
  7. echo ----------------------------
  8.    for /l %%i in (2 1 !n!) do (echo.)
  9. for /l %%i in (1 1 200) do (call echo.>nul)
  10. cls
  11. )
  12. set n=0
  13. goto ks
复制代码
  1. @echo off&setlocal enabledelayedexpansion&color 0A &cls
  2. : ks
  3. set n=0
  4. for /l %%i  in (1 1 10) do (
  5. set /a m=9-!n!
  6.    for /l %%i in (1 1 !m!) do (echo.)
  7. echo ----------------------------
  8.    for /l %%i in (1 1 !n!) do (echo.)
  9. set /a  n=!n!+1
  10. for /l %%i in (1 1 200) do (call echo.>nul)
  11. cls
  12. )
  13. goto ks
复制代码

作者: 46897asc    时间: 2012-7-24 10:32

用批处理绘图应该很麻烦的。




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2