#42002/3/20 18:23:05
-- 计时功能
-- 可实现顺时针和逆时针计时
-- 可以外部指令:sendallsprite(#StartMyTimer) 重新启动计时!
-- 不会影响到其他the timer
-- Author: jerrowolf 2001-7-31
---------------------------------------------------------------------
property p_list,pHour,pMin,pSec,pMode
property pBegintimer,pDurtimer,pLimittimer
property pH,pM,pS
property pOver
property RecordMember
property lingoDone,LingoTxt
on beginsprite me
prepare me
--updatestage
end
----------------------------------------
on StartMyTimer me
prepare me
end
on prepare me
pOver= false
pLimittimer=pHour*216000+pMin*3600+pSec*60
RecordMember=sprite(me.spritenum).member.membernum
case pMode of
"clockwise":
member(RecordMember).text="00:00:00"
pBegintimer=the timer
"unclockwise":
pHour=Change(pHour)
pMin=Change(pMin)
pSec=Change(pSec)
member(RecordMember).text=pHour&":"&pMin&":"&pSec
pBegintimer=the timer+pLimittimer
end case
lingoDone=0
end
on exitframe me
if not pOver then
case pMode of
"clockwise":
pDurtimer=the timer-pBegintimer
if pDurtimer>pLimittimer then
pOver=true
end if
pH=Change(integer(pDurtimer/216000))
pM=Change(integer(pDurtimer/3600))
pS=Change(integer(pDurtimer/60))
member(RecordMember).text=pH&":"&pM&":"&pS
--updatestage
"unclockwise":
pDurtimer=pBegintimer-the timer
if pDurtimer<=0 then
pOver=true
end if
pH=Change(integer(pDurtimer/216000))
pM=Change(integer(pDurtimer/3600))
pS=Change(integer(pDurtimer/60))
member(RecordMember).text=pH&":"&pM&":"&pS
--updatestage
otherwise:nothing
end case
else
if not lingoDone then
do LingoTxt
lingoDone=1
end if
end if
end
on endsprite me
end
on Change tt
if tt>=60 then
tt=integer(tt mod 60)
end if
if tt<10 then
tt="0"&tt
return tt
else
return tt
end if
end
on getpropertydescriptionlist
p_list=[:]
addprop p_list,#pHour,[#comment:"小时",#format:#integer,#default:0]
addprop p_list,#pMin,[#comment:"分",#format:#integer,#default:0]
addprop p_list,#pSec,[#comment:"秒",#format:#integer,#default:0]
addprop p_list,#pMode,[#comment:"模式",#format:#string,#range:["clockwise","unclockwise"],#default:"clockwise"]
addprop p_list,#LingoTxt,[#comment:"结束激活的处理程序",#format:#string,#default:"beep"]
return p_list
end
on getBehaviorDescription
tt=" 计时功能"
tt=tt&return&" 可实现顺时针和逆时针计时"
tt=tt&return&" 可以外部指令:"
tt=tt&return&" sendallsprite(#StartMyTimer) 重新启动计时!"
tt=tt&return&" 不会影响到其他the timer"
tt=tt&return&" Author: jerrowolf "
tt=tt&return&" 2001-7-31"
return tt
end getBehaviorDescription