10. 延时控制
来源:互联网 发布:mac炉石传说 编辑:程序博客网 时间:2024/06/08 08:01
本是cterm2000自定义的一个控制符,*[nM,n是个正整数,表示延迟的毫秒数,
例如
*[40M日*[40M月*[40M光*[40M华
就是等待40毫秒,显示"日",再等40毫秒,显示"月",又过了40毫秒,"光"字出现,
再过40毫秒,最后的"华"字也显示出来了,在直到屏幕上最后一个延时控制处理完之前,
不响应用户的操作,显示完后才逐个执行,如果某些文字设为了闪烁,在延时结束之前,
也是不会有闪烁效果的
本来只有cterm支持延时控制,高版本的sterm也提供了支持。
这个控制符问题有两个很严重的问题:
一是fterm对该控制符解释大不相同,fterm里面*[nM是删除光标所在位置起的n行,
因此看出来效果也就大不相同。如果是在qmd里面使用延时的人要注意,千万不要在用定
位将光标移动到前面去的条件下使用*[M,例如定位到第一行覆盖昵称而且做一个带有延
时的昵称,这会对fterm的用户造成很大的影响,在第1行的地方开始删除n行的内容,会
把正文删掉的。 因此用延时,要考虑到fterm下的效果,每次*[M都应该保证不会删掉有
用内容。 假如非要做延时昵称这种,那么注意每次先定位到屏幕底端再用延时然后再跳
回来(尽量用光标定位),如:*[23H*[40M*[1;19H
二是长时间的延时影响别人正常浏览,要注意的是*[1M并不是延时1毫秒,系统有个
响应时间,实际延时远大于1毫秒,所以如果*[M用得过多,哪怕延时的数值加起来总和
不算太大,但实际的延时仍旧会较长,导致别人无法忍受。
cterm2000中,编辑>>系统设置>>高级,可以限制延时的最大长度,一屏内延时总长
达到该值时忽略其后的延时控制,但是它是加数值的,而不是根据实际的延时时间
高版本sterm,不能限制延时最大长度,但系统设置中可以关闭对延时的支持
某些BBS的精华区可能会看见一种延时的说法是定位到屏幕底端删除大量的行,是针
对fterm用的这套控制符提出的,但是这个方法不可取,首先是可能看不出延时效果,更
严重的是对cterm等的用户来说,你删除1000行(*[1000M)对他来说就是等待1秒钟,太漫
长了...
一般来说,用不着用户按什么键就有动态效果的都是用延时做的,不过有一种效果
例外,那就是所谓的跑马灯效果,感觉是运动的图像,实际用的是闪烁,如下
█████████
█ █
时的昵称,这会对fterm的用户造成很大的影响,在第1行的地方开始删除n行的内容,会
把正文删掉的。 因此用延时,要考虑到fterm下的效果,每次*[M都应该保证不会删掉有
用内容。 假如非要做延时昵称这种,那么注意每次先定位到屏幕底端再用延时然后再跳
回来(尽量用光标定位),如:*[23H*[40M*[1;19H
二是长时间的延时影响别人正常浏览,要注意的是*[1M并不是延时1毫秒,系统有个
响应时间,实际延时远大于1毫秒,所以如果*[M用得过多,哪怕延时的数值加起来总和
不算太大,但实际的延时仍旧会较长,导致别人无法忍受。
cterm2000中,编辑>>系统设置>>高级,可以限制延时的最大长度,一屏内延时总长
达到该值时忽略其后的延时控制,但是它是加数值的,而不是根据实际的延时时间
高版本sterm,不能限制延时最大长度,但系统设置中可以关闭对延时的支持
某些BBS的精华区可能会看见一种延时的说法是定位到屏幕底端删除大量的行,是针
对fterm用的这套控制符提出的,但是这个方法不可取,首先是可能看不出延时效果,更
严重的是对cterm等的用户来说,你删除1000行(*[1000M)对他来说就是等待1秒钟,太漫
长了...
一般来说,用不着用户按什么键就有动态效果的都是用延时做的,不过有一种效果
例外,那就是所谓的跑马灯效果,感觉是运动的图像,实际用的是闪烁,如下
█████████
█ █
█ 这不是延时 █
█ █
█████████
这种效果是通过相邻两个全方块字符(█)使用相反的前背景色加上闪烁效果做成的
如*[0;5;31;42m█*[32;41m█*[m效果就是:██
例如
*[40M日*[40M月*[40M光*[40M华
就是等待40毫秒,显示"日",再等40毫秒,显示"月",又过了40毫秒,"光"字出现,
再过40毫秒,最后的"华"字也显示出来了,在直到屏幕上最后一个延时控制处理完之前,
不响应用户的操作,显示完后才逐个执行,如果某些文字设为了闪烁,在延时结束之前,
也是不会有闪烁效果的
本来只有cterm支持延时控制,高版本的sterm也提供了支持。
这个控制符问题有两个很严重的问题:
一是fterm对该控制符解释大不相同,fterm里面*[nM是删除光标所在位置起的n行,
因此看出来效果也就大不相同。如果是在qmd里面使用延时的人要注意,千万不要在用定
位将光标移动到前面去的条件下使用*[M,例如定位到第一行覆盖昵称而且做一个带有延
时的昵称,这会对fterm的用户造成很大的影响,在第1行的地方开始删除n行的内容,会
把正文删掉的。 因此用延时,要考虑到fterm下的效果,每次*[M都应该保证不会删掉有
用内容。 假如非要做延时昵称这种,那么注意每次先定位到屏幕底端再用延时然后再跳
回来(尽量用光标定位),如:*[23H*[40M*[1;19H
二是长时间的延时影响别人正常浏览,要注意的是*[1M并不是延时1毫秒,系统有个
响应时间,实际延时远大于1毫秒,所以如果*[M用得过多,哪怕延时的数值加起来总和
不算太大,但实际的延时仍旧会较长,导致别人无法忍受。
cterm2000中,编辑>>系统设置>>高级,可以限制延时的最大长度,一屏内延时总长
达到该值时忽略其后的延时控制,但是它是加数值的,而不是根据实际的延时时间
高版本sterm,不能限制延时最大长度,但系统设置中可以关闭对延时的支持
某些BBS的精华区可能会看见一种延时的说法是定位到屏幕底端删除大量的行,是针
对fterm用的这套控制符提出的,但是这个方法不可取,首先是可能看不出延时效果,更
严重的是对cterm等的用户来说,你删除1000行(*[1000M)对他来说就是等待1秒钟,太漫
长了...
一般来说,用不着用户按什么键就有动态效果的都是用延时做的,不过有一种效果
例外,那就是所谓的跑马灯效果,感觉是运动的图像,实际用的是闪烁,如下
█████████
█ █
时的昵称,这会对fterm的用户造成很大的影响,在第1行的地方开始删除n行的内容,会
把正文删掉的。 因此用延时,要考虑到fterm下的效果,每次*[M都应该保证不会删掉有
用内容。 假如非要做延时昵称这种,那么注意每次先定位到屏幕底端再用延时然后再跳
回来(尽量用光标定位),如:*[23H*[40M*[1;19H
二是长时间的延时影响别人正常浏览,要注意的是*[1M并不是延时1毫秒,系统有个
响应时间,实际延时远大于1毫秒,所以如果*[M用得过多,哪怕延时的数值加起来总和
不算太大,但实际的延时仍旧会较长,导致别人无法忍受。
cterm2000中,编辑>>系统设置>>高级,可以限制延时的最大长度,一屏内延时总长
达到该值时忽略其后的延时控制,但是它是加数值的,而不是根据实际的延时时间
高版本sterm,不能限制延时最大长度,但系统设置中可以关闭对延时的支持
某些BBS的精华区可能会看见一种延时的说法是定位到屏幕底端删除大量的行,是针
对fterm用的这套控制符提出的,但是这个方法不可取,首先是可能看不出延时效果,更
严重的是对cterm等的用户来说,你删除1000行(*[1000M)对他来说就是等待1秒钟,太漫
长了...
一般来说,用不着用户按什么键就有动态效果的都是用延时做的,不过有一种效果
例外,那就是所谓的跑马灯效果,感觉是运动的图像,实际用的是闪烁,如下
█████████
█ █
█ 这不是延时 █
█ █
█████████
这种效果是通过相邻两个全方块字符(█)使用相反的前背景色加上闪烁效果做成的
如*[0;5;31;42m█*[32;41m█*[m效果就是:██
- 10. 延时控制
- C++时间延时控制
- picc精确控制延时时间
- js控制图片延时加载
- JQ控制Div延时消失
- STM32CubeMX之定时器控制微秒延时详解
- 延时
- 延时
- 延时
- 延时
- 延时
- 延时
- 运用软件延时方法控制P1口亮灯实验
- 带延时加载,自动刷新和拖动控制的Canvas
- 带延时加载,自动刷新和拖动控制的Canvas
- Linux下用tc控制网络延时和丢包率
- Linux下用tc控制网络延时和丢包率
- Linux下用tc控制网络延时和丢包率 流量控制
- 7. 右方的垂直qmd
- struct和 class区别
- 8. 修改个人说明档上方的个人信息
- 今天遇到的错误
- 这个问题也常有人会来问,其实想要别人看不到真实ip,那么穿梭或者用代理,
- 10. 延时控制
- 集合之一
- 11. 其他的非标准ANSI转义序列
- C#中comboBox和数据库的连接
- ADO.Net编程_第1章非连接类
- 成为Windows专家的一些学习习惯(webcasts学习笔记)
- 12. 复制与粘贴
- 也谈代码生成-----必要性
- 13. 区块操作和剪贴簿操作