[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[特效代码] 批处理类JS楼梯动画效果

用批处理实现 类js 下楼梯动画效果:
就是字符先从左走到右,走到尽头,下落一行,然后在从右走到左,到尽头再下落...

附:字符移动速度不要太慢...

  1. @echo off&setlocal enabledelayedexpansion
  2. for /l %%n in (1,1,10) do (
  3. if !flag! equ 1 (set "a=77,-1,1") else (set "a=1,1,77")
  4. for /l %%i in (!a!) do (
  5.   call :blank %%i
  6.   set/p=f <nul
  7.   call :back
  8. )
  9. call :back & call :blank 79
  10. echo.& set /a flag=%%n %% 2
  11. )
  12. pause>nul&exit
  13. :back
  14. for /l %%k in (1 1 79) do (set/p=<nul)
  15. goto :eof
  16. :blank
  17. for /l %%k in (1 1 %1) do (set/p= <nul)
  18. goto :eof
复制代码

[ 本帖最后由 foxJL 于 2008-1-3 00:56 编辑 ]
2

评分人数

TOP

和那个字符左右移动差不多
:
  1. @echo off
  2. set /a max=1,lis=0
  3. setlocal enabledelayedexpansion
  4. :loop
  5. if !max! equ 1 (set sis=^>) else set sis=!sis:~0,-1!^<
  6. for /l %%a in (1 1 78) do (
  7.   set /p=!sis!<nul
  8.   for /l %%i in (1 1 100) do ver>nul
  9.   if !max! neq 1 (set sis=!sis:~1!) else set "sis= !sis!"
  10.   for /l %%i in (1 1 80) do set /p=<nul
  11. )
  12. if !max! equ 1 (set /p=  <nul) else for /l %%i in (1 1 80) do set /p= <nul
  13. set max=%lis%&set lis=%max%
  14. goto loop
复制代码
2

评分人数

技术问题请到论坛发帖求助!

TOP

这个是更新的版本
  1. @echo off&setlocal enabledelayedexpansion
  2. mode con: cols=72 lines=21&color c
  3. for /l %%a in (1 1 69) do set "space= !space!"
  4. set "test=%space% a %space%"
  5. for /l %%a in (1 1 72) do set "t=!t!"
  6. for /l %%a in (1 1 10) do (
  7.         for /l %%i in (70 -1 0) do call :ie %%i
  8.         echo.
  9.         for /l %%j in (1 1 71) do call :ie %%j
  10.         echo.
  11.     )
  12. pause>nul&goto :eof
  13. :ie
  14. set/p= !test:~%1,70!<nul
  15. set/p=%t%<nul
  16. for /l %%m in (1 1 200) do ver>nul
  17. goto :eof
复制代码

[ 本帖最后由 ieutk 于 2008-1-2 16:39 编辑 ]
2

评分人数

不大可能的事也许今天实现,根本不可能的事也许明天会实现

TOP

回复 2# 的帖子

  1. set/p=f<nul&set/p= <nul
  2. set/p=f <nul
复制代码
技术问题请到论坛发帖求助!

TOP

回复 4# 的帖子

你把最后一个字符(最开始一个字符)用空格来代替就行了

TOP

哈哈,我原来还在查 随风 和foxjl的代码中实现 换行的代码
后来经过测试才知道,原来是自动换行...

TOP

自己也来贴一段啊,呵呵.
习惯了写“函数”(标签),所以程序代码都是 以“函数”的形式出现;
缺点:因为要调用参数,所以无法象 随风 的代码一样可以出现特殊字符;
优点:添加了换行,类4F,可以在随机位置换行(没技术可言...)
  1. ::code by youxi01@bbs.bathome.net,2008-1-2
  2. @echo off
  3. set /a flag=1,a=2       %========定义标志文件=========%
  4. :loop
  5. set flag=%a% & set a=%flag%   %==========每循环一次就交换数据=========%
  6. Rem 当flag变量的值为2时,就向坐移动;反之向右。
  7. if %flag% EQU 2 (call :Ani " F") else (
  8.    for /l %%i in (1 1 78) do set /p= <nul
  9.    call :Ani "F ")
  10. goto :loop
  11. pause>nul
  12. :Ani 参数
  13. Rem 第一个for循环中的数字随自己的需要更改;
  14. for /l %%i in (1 1 60) do (
  15.     set /p=%~1<nul
  16.     for /l %%j in (1 1 200) do ver>nul)
  17.     set /p=  <nul
  18.     echo.
复制代码
1

评分人数

TOP

你把最后一个字符(最开始一个字符)用空格来代替就行了


多谢指教,捣鼓了半天,终于搞好了,现在代码己在4楼更新
不大可能的事也许今天实现,根本不可能的事也许明天会实现

TOP

回复 5# 的帖子

多谢指点,可能写的时候只故着调试,这些都忘了.

TOP

返回列表