作者ayso (Ken)
看板mud_sanc
标题Re: [问题] hp显示问题
时间Wed Aug 3 01:16:43 2011
※ 引述《laechan (小太保)》之铭言:
: ※ 引述《curist (好问题..)》之铭言:
: : 打hp跟sc都没办法正确显示3p的值
: : 可是有组队的话打p就能正确显示
: : 所以是不是能请wiz大大们把hp跟sc改用party显示的写法呢..@@
: hp 跟 sc 主要呼叫函数 show_line(hp,hp_src)
: show_line 的写法主要是...
: 产生 50 个 * 号 再使用移位码 定位 血量符号
: get_space(50,"*")+sprintf(HIY+CSI"24;%dH%s"NOR,a+11,src_sign(c))
: 这东西若要修改就是,比方你血量现在 50%
: a=hp*50/hp_src; 计算位置
: get_space(a,"*")+src_sign(hp_src)+get_space(50-a,"*"));
: 缺点是 get_space 会呼叫两次,所以有个解法,就是修改 src_sign 函数
: 一、先做第一段 get_space
: 二、然後 print 原来的 src_sign
: 三、再做第二段 get_space
: 但总之......我先改改好了。
: Laechan
刚刚测了一阵子,发现只要修改移位码,就可以正确地显示3p
因为 24;%dH 是绝对位置定位用的,然而下指令的行数是可变动的
能否请大神试试将移位码改成 %dG ,不需要指定列数
G表示只做column的水平定位
我在tintin++的环境,设了移位码的替换,显示就正常了
#sub {~\e[%d;%dH} {\e[%2G}
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 123.205.130.47
1F:推 justinj :试过...自行缩排....打枪....amem 08/03 17:34
2F:推 justinj :至少要有绝对水平定位...原因很简单.... 08/03 17:55
3F:→ justinj :HIR"AAA"NOR" BBB"显示时是AAA BBB....但BBB我一 08/03 17:57
4F:→ justinj :要在第10格开始显示怎麽办..只能用绝对定位... 08/03 17:57
5F:→ justinj :ps...有颜色的会吃位... 08/03 17:58
6F:→ ayso :G是不含色码的绝对水平定位 08/03 21:45
7F:→ ayso :\e[31m;ABCD\e[33m\e[3GX会变成 红AB绿X红G 08/03 21:47
8F:→ ayso :skill的缩排,因为我还没开始玩,不确定有没有问题.. 08/03 21:49