标题: [特效代码] 批处理如何实现在cmd窗口显示一段从左往右移动的字符串 [打印本页]
作者: hisplay 时间: 2008-8-16 10:17 标题: 批处理如何实现在cmd窗口显示一段从左往右移动的字符串
本帖最后由 pcl_test 于 2016-11-21 23:34 编辑
求助:--求一个特效...如:“我爱批处理之家”。字体从左往右移动..字体从左边缘出现,第一个是“我”第二个是“爱”以此类推。。等到窗口右边源“家”字消失,然后到“之”以此类推。循环操作!按Y下一步 N返回..如果不进行任何操作。则循环移动上面字体。。。不知道大家明不明白呢。。。在此先谢谢大家了。。。
如果能把字体做成变色效果那就更好。。。。。
有答案的朋友,能不能解释一下代码命令!
..
作者: pusofalse 时间: 2008-8-16 11:03
楼主所说的“循环操作!按Y下一步 N返回..如果不进行任何操作。则循环移动上面字体。。。”
cmd是单任务的,循环移动的时候不可能接受用户输入的。
作者: pusofalse 时间: 2008-8-16 11:16
粗略的实现了,不知是否是楼主的意思。
- @echo off&setlocal enabledelayedexpansion&title test
- if "%1" neq "" goto next
- start/b %~fs0 a
- set "str=我爱批处理之家"
- :loop
- for /l %%a in (0 1 6) do (
- if not exist %temp%\had.tmp (
- set/p=!str:~%%a,1!<nul
- for /l %%i in (1 1 500) do echo.>nul
- if %%a equ 6 (
- for /l %%s in (1 1 20) do set/p= <nul&ping -n>nul
- )
- ) else (
- del %temp%\had.tmp
- cls&echo 这里是“下一步”的操作,不知你说的输入n返回,是返回到哪里。
- pause>nul&exit/b
- )
- )
- goto loop
-
- :next
- set/p var=
- if /i %var% equ y (echo a>%temp%\had.tmp)
- exit
复制代码
作者: hisplay 时间: 2008-8-16 12:08
原帖由 pusofalse 于 2008-8-16 11:03 发表
楼主所说的“循环操作!按Y下一步 N返回..如果不进行任何操作。则循环移动上面字体。。。”
cmd是单任务的,循环移动的时候不可能接受用户输入的。
如果不能执行循环重复。。。那把该命令多复制几次。会不会出现几次呢?
------谢谢版主的帮助...辛苦您了。。
我
爱我
批爱我
理批爱我
处理批爱我
之处理批爱我
家之处理批爱我
-----------------
上面是从左出现的效果。。
家之处理批爱我 ---------------------------→ 家之处理批爱我 -----------------------------------------------------------------------------→ 家之处理批爱我
========
家之处理批爱
家之处理批
家之处理
家之处
家之
家
---------------
上面的是右边的效果
最好能够把字体调为变色效果。。。
下面的朋友们。。帮帮忙------谢了
作者: pusofalse 时间: 2008-8-16 12:24
- -||| 看来我完全理解错误了啊。
作者: pusofalse 时间: 2008-8-16 13:00
- @echo off&setlocal enabledelayedexpansion
- set "str=我爱批处理之家"
- :loop
- for /l %%a in (0 1 6) do (
- set "var="
- for /l %%i in (%%a -1 0) do set "var=!var!!str:~%%i,1!"
- ping -n 2 127.1>nul
- echo !var!&color 0%%a
- )
- for /l %%a in (6 -1 1) do echo !var:~,%%a!&color 0%%a&ping 127.1 /n 2 >nul
- goto loop
复制代码
作者: hisplay 时间: 2008-8-16 14:03
版主厉害。。很好。效果不错。。辛苦了
→我
→爱我
→批爱我
→理批爱我
→处理批爱我
→之处理批爱我
→家之处理批爱我
-----------------
上面是从左出现的效果。。
字移动过程中的效果“----------移动---------→ ”作为提示......“家之处理批爱我 ----------移动---------→ 家之处理批爱我 -----------------------移动-------------------------------------------→ 家之处理批爱我”
========
→家之处理批爱
→家之处理批
→家之处理
→家之处
→家之
→家
走字效果。。
作者: 安静 时间: 2008-8-16 16:05
要是把"我爱批处理之家"改成"家之理处批爱我"...
那就是正常人看的了,...
不知LZ要干什么?...
弄回文吗?..
作者: 523066680 时间: 2008-8-16 17:51
我在cn-dos的时候写的看看是不是这样
『楼 主』: 做了一个自己满意的滚动字幕
::我还嫩……不过这篇自我满意
@echo off &color 0a
setlocal enabledelayedexpansion
set na= CN-DOS
:a
for /l %%a in (16,-1,0) do (
set ne=!na:~%%a,8!
echo. --!ne!--
for /l %%b in (1,1,2) do ping -n>nul
cls
)
goto a
作者: hisplay 时间: 2008-8-16 20:22
呵呵..楼主的 谢谢哦..就是这样的...
作者: shqf 时间: 2008-8-16 20:23
楼主要的是如下走字效果吧:- @echo off&setlocal enabledelayedexpansion
- color 03&mode con cols=28 lines=5
- set "str= 家之理处批爱我"
-
- :loop
- for /l %%a in (1 1 21) do (
- echo.
- if "!str:~-%%a,14!"==" " (echo.) else (
- echo !str:~-%%a,14!)
- for /l %%b in (1 1 800) do echo.>nul
- cls
- )
- goto loop
复制代码
[ 本帖最后由 shqf 于 2008-8-16 20:24 编辑 ]
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |