找回密码
 点一下
查看: 1018|回复: 11

我在多面板上添加计时的问题

[复制链接]
发表于 2009-3-19 11:30:38 | 显示全部楼层 |阅读模式
我用的是 每过1秒 整数=整数+1  整数超过60 清0
分同上
显示出来的时间 0:0:0 这样的
如何让显示的时间是 0:00:00呢
我不太会触发 用了笨办法 就是判断整数分 大于10 秒大于10这样的 就该变一次多面板文本 ..
但是 总是失败 也就是当时间超过10分10秒 (大于10分 大于10秒)  时间就不走了 ..

似乎 无法将计时器 直接添加到多面板   ..
希望大家帮我想想办法哈 谢谢 ..
发表于 2009-3-19 12:19:43 | 显示全部楼层
时间是一直要走的,而且还是用判断10位分界,<10的时候字符串添加"0"+转换整数为字符串,>10的话就直接转换整数为字符串
回复

使用道具 举报

发表于 2009-3-19 16:22:39 | 显示全部楼层
自己去求个函数
回复

使用道具 举报

发表于 2009-3-19 16:37:07 | 显示全部楼层
function Clock takes nothing returns nothing
    local multiboarditem mi = MultiboardGetItem(udg_Board,udg_PlayerNum,1)
    local string s = null
    set udg_TimeS = udg_TimeS + 1
    if udg_TimeS >= 60 then
        set udg_TimeS = 0
        set udg_TimeM = udg_TimeM + 1
    endif
    if udg_TimeM >= 60 then
        set udg_TimeM = 0
        set udg_TimeH = udg_TimeH + 1
    endif
    if udg_TimeH <= 9 then
        set s = I2S(0)+I2S(udg_TimeH)+":"
    else
        set s = I2S(udg_TimeH)+":"
    endif
    if udg_TimeM <= 9 then
        set s = s + I2S(0)+I2S(udg_TimeM)+":"
    else
        set s = s + I2S(udg_TimeM)+":"
    endif
    if udg_TimeS <= 9 then
        set s = s + I2S(0)+I2S(udg_TimeS)
    else
        set s = s + I2S(udg_TimeS)
    endif
    call MultiboardSetItemValue(mi,s)
    call MultiboardReleaseItem(mi)
    set mi = null
endfunction
PlayerNum+1行2列显示时间
TimeS,TimeM,TimeH为全局变量分别记录秒分时
Timer1秒循环开启这个函数
回复

使用道具 举报

 楼主| 发表于 2009-3-19 17:50:46 | 显示全部楼层
LS这位大人 谢谢你  但..这个我看不懂 我
在三个触发里(时 分 秒) 每个都添加了  例如 当分>10  秒>10  转换为一个字符串
但是 做着做着 自己就迷糊了 一出问题 都不知道问题在哪里...
出现的问题具体表现为 10分10秒之后  数字不走
超过30分吧?  我也忘记了 就是 数字消失一次 显示一次 反正很多问题 我找不出原因 ..
回复

使用道具 举报

发表于 2009-3-19 18:23:32 | 显示全部楼层
我下午也在研究多面板  给你看看我做的吧

1.w3x

19 KB, 下载次数: 35

回复

使用道具 举报

 楼主| 发表于 2009-3-19 18:53:11 | 显示全部楼层
谢谢您 我着就拿来看看 .~
回复

使用道具 举报

 楼主| 发表于 2009-3-19 18:57:43 | 显示全部楼层
谢谢您 这样的做法我尝试过了 但是太宽了 觉得很难看 我放弃了 还是用0:0:0这样的吧 谢谢你们的帮助 ~
回复

使用道具 举报

发表于 2009-3-19 19:34:10 | 显示全部楼层
看下吧

11111.w3x (17 KB, 下载次数: 33)
回复

使用道具 举报

发表于 2009-3-19 20:21:49 | 显示全部楼层
这个好像没那么宽了

1.w3x

18 KB, 下载次数: 23

回复

使用道具 举报

发表于 2009-3-20 13:40:48 | 显示全部楼层
话说我记得我做了一个多面板,带自动复活英雄功能,模仿dota的。
基本转换函数。。

function ClockTime takes integer i returns string
    if(i<10)then
        return "0"+I2S(i)
    else
        return I2S(i)
    endif
endfunction
回复

使用道具 举报

 楼主| 发表于 2009-3-20 14:33:57 | 显示全部楼层
谢谢你们的帮助 我这就去看看 .
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-7-21 18:29 , Processed in 0.190783 second(s), 22 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表