标题: [原创代码] Perl动画----实现文字从上到下、从左到右的逐字显示 [打印本页]
作者: sxw 时间: 2012-5-1 00:34 标题: Perl动画----实现文字从上到下、从左到右的逐字显示
翻译了几个模块,顺便实现了原来想用批处理实现的效果,实现文字从上到下、从左到右的逐字显示:(在我的机器上测试效果可以,xp sp2,Perl 5.14.2)- #!/usr/bin/perl
-
- use Win32::Console;
- use Win32::GuiTest qw(:ALL);
- use Encode;
- my $Out = new Win32::Console(STD_OUTPUT_HANDLE) || die;
-
-
- while (<DATA>) {
- s/ / /g;
- chomp;
- $a=decode('gb2312',$_);
- @words=$a=~m/(.)/g;
-
- foreach $word (@words) {
- $Out->Write(encode('gb2312',$word));
- SendKeys("{DOWN}");
- my ( $x, $y ) = $Out->Cursor();
- $Out->Cursor( $x-2, $y+1 );
- select(undef,undef,undef,0.025);
- }
- my ( $x, $y ) = $Out->Cursor();
- $Out->Cursor( $x+2, $y-@words,0,0 );
-
- }
- <>;
-
- __DATA__
- 莫失莫忘
- 晚风拂帷裳,孑影无灯伴。
- 相离莫相忘,天涯两相望。
- 月如霜,并泪沾裳,浸湿单罗杉。
- 铃儿轻轻荡,声声入愁肠。
- 遥寄相思,远眺旧乡,伊人何方。
- 静夜阑,寥落微星挂天上。
- 不思量,自难忘,浊酒一杯慰情殇。
- 凭栏空对愁,岁月尽成憾。
- 寒鸦秋雁携凄凉。
- 危坐思君为哪般。
- 秋水望穿,临风轻叹。
- 燕子不归,徒留情长。
- 历遍巫山沧海,看尽洞庭云雨。
- 枫落时,姻缘散。
- 梦回几转泪轻淌。
复制代码
作者: sxw 时间: 2012-5-2 15:11
本帖最后由 sxw 于 2012-5-2 15:23 编辑
用屏幕录制专家录制了一个,压缩后也不大:
http://115.com/file/angqpkhl
作者: sxw 时间: 2012-5-4 09:55
本帖最后由 sxw 于 2012-5-4 09:56 编辑
另存为xysh.bat- @rem = '
- @echo off
- color d
- mode con cols=125 lines=25
- echo.&echo.&echo.&echo.
- c:\perl.exe -S xysh.bat
- ::路径自己修改,文件名自己修改
- ping 127.0.0.1 >nul
- goto end_perl
- : end_perl
-
- exit
-
- @rem ';
-
-
- #!/usr/bin/perl
-
- use Win32::Console;
- use Win32::GuiTest qw(:ALL);
-
- use Encode;
- my $Out = new Win32::Console(STD_OUTPUT_HANDLE) || die;
- my ( $x, $y ) = $Out->Cursor();
- $Out->Cursor( $x, $y,0,0 );
-
- while (<DATA>) {
- s/ / /g;
- chomp;
- $a=decode('gb2312',$_);
- @words=$a=~m/(.)/g;
-
- foreach $word (@words) {
- $Out->Write(encode('gb2312',$word));
- SendKeys("{DOWN}"); #这个其实可以不要(那就不用安装Win32::GuiTest模块了),但要用用my ( $x, $y ) = $Out->Cursor();$Out->Cursor( $x, $y+1,0,0 );来代替模拟下方向键
- my ( $x, $y ) = $Out->Cursor();
- $Out->Cursor( $x-2, $y+1 );
- select(undef,undef,undef,0.075);
- }
- my ( $x, $y ) = $Out->Cursor();
- $Out->Cursor( $x+2, $y-@words,0,0 );
-
- }
- <>;
- __DATA__
-
-
- 星月神话
-
-
-
-
- 我的一生最美好的场景
-
- 就是遇见你
-
- 在人海茫茫中静静凝望着你
-
- 陌生又熟悉
-
- 尽管呼吸着同一天空的气息
-
- 却无法拥抱到你
-
- 如果转换了时空身份和姓名
-
- 但愿认得你眼睛
-
- 千年之后的你会在哪里
-
- 身边有怎样风景
-
- 我们的故事并不算美丽
-
- 却如此难以忘记
-
- 尽管呼吸着同一天空的气息
-
- 却无法拥抱到你
-
- 如果转换了时空身份和姓名
-
- 但愿认得你眼睛
-
- 千年之后的你会在哪里
-
- 身边有怎样风景
-
- 我们的故事并不算美丽
-
- 却如此难以忘记
-
- 如果当初勇敢的在一起
-
- 会不会不同结局
-
- 你会不会也有千言万语
-
- 埋在沉默的梦里
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |