[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
特效就不弄了,弄了个雨点左右摆动,雨点下落速度有快有慢的,加上一个男中音:
  1. @echo off
  2. if not "%1"=="" goto :%1
  3. start /b %~fs0 sound
  4. title 按任意键退出...
  5. set "code=ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFHGIJKLMNOPQ"
  6. set /a end=19,left=10,right=0,straight=0,delay=550,times=10
  7. for /l %%a in (2 1 25) do (set line%%a=  )
  8. setlocal enabledelayedexpansion
  9. :bgn
  10. for /l %%a in (1 1 !end!) do (
  11.    set /a "pick=!random!%%!end!"
  12.    call set "line1=!line1!%%code:~!pick!,1%%   "
  13. )
  14. rem 控制字符左右摆动
  15. if !left! gtr 0 (
  16.    set /a left-=1
  17.    if not !right! gtr 0 (set /a right=!random!%%7+10)
  18.    for /l %%a in (25 -1 2) do (
  19.       set /a "tmp_=%%a-1"
  20.       call set "line%%a=%%line!tmp_!:~1%%%%line!tmp_!:~,1%%"
  21.    )
  22. ) else (
  23.    if !right! gtr 0 (
  24.       set /a right-=1
  25.       if not !straight! gtr 0 (set /a straight=!random!%%7+7)
  26.       for /l %%a in (25 -1 2) do (
  27.          set /a "tmp_=%%a-1"
  28.          call set "line%%a=%%line!tmp_!:~-1%%%%line!tmp_!:~,-1%%"
  29.       )
  30.    ) else (
  31.       set /a straight-=1
  32.       if !straight! lss 0 (set /a left=!random!%%7+10)
  33.       for /l %%a in (25 -1 2) do (
  34.          set /a "tmp_=%%a-1"
  35.          call set "line%%a=%%line!tmp_!%%"
  36.       )
  37.    )
  38. )
  39. set "line1="
  40. cls
  41. for /l %%a in (1 1 25) do (set str=!str!!line%%a!)
  42. echo.!str!
  43. set "str="
  44. rem 控制字符落下速度的快慢(也就是摆动的快慢)
  45. if !times! gtr 1 (
  46.    set /a times-=1
  47.    for /l %%a in (1 1 !delay!) do (
  48.       echo.>nul
  49.    )
  50. ) else (
  51.    set /a times=!random!%%10+10,delay=!random!%%400+200
  52. )
  53. goto :bgn
  54. :out
  55. pause>nul
  56. taskkill /FI "windowtitle eq 按任意键退出... *" >nul
  57. :sound
  58. start /b %~fs0 out
  59. Setlocal Enabledelayedexpansion
  60. set "n=0"
  61. for %%a in ("wow wow wow, it is raining" "god, it is raining again" "so bad, the weather" "I love all of you, baby" "we are all batch fan" "get busy living, or get busy dying") do (
  62.    set /a n+=1
  63.    set "voice!n!=%%a"
  64. )
  65. :agn
  66. set /a t=!random!%%!n!+1
  67. mshta vbscript:CreateObject("SAPI.SpVoice").Speak(!voice%t%!)(Window.close)
  68. ping -n 6 127.1>nul
  69. goto :agn
复制代码

[ 本帖最后由 more 于 2009-8-3 10:50 编辑 ]

TOP

netbenton的效果更有特色  上下交互穿梭
中间还有字幕

(除非他改了原来的版本,当时我看的时候是这样的效果)

我认同这样的效果,他是在能模仿了以后再增加自己的创意的。

TOP

原帖由 netbenton 于 2009-4-18 13:10 发表
数码雨双向移动+字符串滚动+字符转动+标题字符串滚动+动态测帧+闪烁

@echo off&color 0a
if defined lins goto :sub
set "lins=  0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23"
...

为何完成后var !zza!没返回0?
数字好像只向上爬升不会降下

不是该这样吗?
set sec=%time:~6,2%
::=============loop位置下==============
if not "%time:~6,2%"=="%sec%" (
set sec=%time:~6,2%&title  !looptime! loop/1sec"
set/a looptime=0
)

TOP

你按Alt+Enter键,它就全屏了
要程序自动全屏也可以,不过,效果似乎并不是很好。

TOP

我想问一下  这个能做出全屏的吗   哪像效果会更好

TOP

你们怎么都这么厉害啊。

TOP

很不错啊,要向楼主多学学啊,呵呵

TOP

我去试试不错啊!!!

TOP

呵呵,高手pk真的能激发好好学下去的兴趣呢!支持了。。。。。。
学海无涯

TOP

你的帖子我审阅通过....................^_^

TOP

这个任意键退出太强了,没说的,加分!
***共同提高***

TOP

netbenton 一路领先,来到了这里。
我支持你,本来只是看看贴的,看到你写的这么好,特地登录加分!

for /l %%i in (1,1,200) do echo.>nul

由于身处网吧  无时间详细窥探思路
不过我找找茬

认为 上面一句 for + echo的延迟 可以改成 ping -n 1 127.1>nul

[ 本帖最后由 523066680 于 2009-4-18 16:23 编辑 ]

TOP

26楼退出时有点问题,再改一改

数码雨双向移动+字符串滚动+字符转动+标题字符串滚动+动态测帧+闪烁
  1. @echo off&color 0a
  2. if defined lins goto :sub
  3. set "lins=  0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23"
  4. setlocal enabledelayedexpansion
  5. start /b %~n0.bat
  6. set str=fedcbag h i j k l m n o p q r s t u v w x y z9876543210ABCDEFG H I J K L M N O P Q R S T U V W X Y Z
  7. for %%i in (%lins%) do (
  8.         for /l %%j in (1,1,8) do (
  9.                 set "m%%i=!m%%i!          "
  10.                 set "n%%i=!n%%i!          "
  11.         )
  12. )
  13. set n=1
  14. set m=0
  15. set k=0
  16. set "im0=看到美女了吗?看到了,说明你已是黑客帝国的了。。。"
  17. set mmz=%time:~6,2%
  18. set "chan=/-\|"
  19. ::预处理结束
  20. :::::::::::::::循环体:::::::::::::::
  21. :loop
  22. ::增加的标题效果
  23. set/a zza+=1
  24. if not "%time:~6,2%"=="%mmz%" (
  25. set/a zzm+=1,zz=zza/zzm&set mmz=%time:~6,2%
  26. set "tit= Made by Benton !zz!帧/秒,按任意键退出 "
  27. )
  28. title @_@       [ !tit:~-%k%!!tit:~0,-%k%! ]
  29. ::增加的标题效果
  30. set var=  %%str:~!random:~0,2!,1%%
  31. for /l %%i in (1,1,2) do (
  32. call set "var=!var!  %%str:~!random:~0,2!,1%%  %%str:~!random:~0,2!,1%%  %%str:~!random:~0,2!,1%%  %%str:~!random:~0,2!,1%%  %%str:~!random:~0,2!,1%%  %%str:~!random:~0,2!,1%%"
  33. )
  34. set/a n=^(n+23^)%%24,m=^(m+23^)%%24
  35. set m%m%=!var!
  36. set n%n%=!var!
  37. set lins=!lins:~-3!!lins:~0,-3!
  38. for /l %%i in (0,1,23) do (set/a ll=%%i-2&set n!ll!=!n%%i!)
  39. set n23=!n-1!
  40. set n22=!n-2!
  41. cls&color 0f&echo !len:~0,1888!
  42. set ll=0
  43. for %%i in (%lins%) do (
  44. set "l!ll!=!m%%i:~0,3!!n%%i:~0,3!!m%%i:~3,3!!n%%i:~3,3!!m%%i:~6,3!!n%%i:~6,3!!m%%i:~9,3!!n%%i:~9,3!!m%%i:~12,3!!n%%i:~12,3!!m%%i:~15,3!!n%%i:~15,3!!m%%i:~18,3!!n%%i:~18,3!!m%%i:~21,3!!n%%i:~21,3!!m%%i:~24,3!!n%%i:~24,3!!m%%i:~27,3!!n%%i:~27,3!!m%%i:~30,3!!n%%i:~30,3!!m%%i:~33,3!!n%%i:~33,3!!m%%i:~36,3!!n%%i:~36,3!  "
  45. set/a ll+=1)
  46. ::增加的中间效果
  47. if "%chn%"=="3" set/a k=^(k+25^)%%26
  48. set/a chn=^(chn+1^)%%4
  49. set "in0=—《!chan:~%chn%,1!》欢迎来到黑客帝国《!chan:~-%chn%,1!》—"
  50.         set im=!im0:~-%k%!!im0:~0,-%k%!
  51.         set l10=!l10:~0,25!!in0:~%k%!!in0:~0,%k%!!l10:~55!
  52.         set l12=!l12:~0,25!!im:~0,15!!l12:~55!
  53. ::增加的中间效果
  54. cls&color 0a&echo !len:~0,1888!
  55. ::如果速度过快的话,在这里增加延时for /l %%i in (1,1,150) do cd..>nul
  56. set len=!l0!!l1!!l2!!l3!!l4!!l5!!l6!!l7!!l8!!l9!!l10!!l11!!l12!!l13!!l14!!l15!!l16!!l17!!l18!!l19!!l20!!l21!!l22!!l23!
  57. goto loop
  58. ::::::::::::::::::::::::::::::::::::
  59. ::外部控制子过程
  60. :sub
  61. pause>nul
  62. TASKKILL /FI "IMAGENAME EQ cmd.exe" /FI "WINDOWTITLE EQ @_@ *">nul
复制代码

[ 本帖最后由 netbenton 于 2009-5-6 22:39 编辑 ]
4

评分人数

TOP

for /l %%i in (1,1,1000) do echo.>nul
这句用来延时的,你把1000调小一点就可以了

我的机子速度太快了才用的。

==================

把最后的
pause>nul  改成 ping 127.1 -n 120 >nul

就可以运行2分钟后才退出了

[ 本帖最后由 netbenton 于 2009-4-17 23:28 编辑 ]

TOP

楼上的8错,不过就是速度有点慢,能不能加快点啊

TOP

返回列表