因为09年1月17号我要考雅思,每天都惦记着还有多少天到。于是想做个flex的倒计时来提示自己时间在流逝。
制作第一步是算法。
使用timer控件来做定时器,每秒计算一次。具体算法为
var minusSecond:int=downDate.getSeconds() - currentDate.getSeconds();
var minusMinute:int;
var minusHour:int;
var minusDate:int;
var minusMonth:int;
var minusYear:int;
var sFlag:Boolean;
var mFlag:Boolean;
var hFlag:Boolean;
var monFlag:Boolean;
if(minusSecond<0){
minusSecond=60+minusSecond;
sFlag=true;
}
minusMinute=downDate.getMinutes() - currentDate.getMinutes();
if(sFlag)
minusMinute--;
if(minusMinute<0){
minusMinute=60+minusMinute;
mFlag=true;
}
minusHour=downDate.getHours() - currentDate.getHours();
if(mFlag)
minusHour--;
if(minusHour<0){
minusHour=24+minusHour;
hFlag=true;
}
minusDate =downDate.getDate() - currentDate.getDate();
minusMonth=downDate.getMonth() - currentDate.getMonth();
if(hFlag){
minusDate--;
}
if(minusDate>=0){
minusMonth;
}else{
switch(currentDate.getMonth()+1){
case 1,3,5,7,8,10,12:{
minusDate = downDate.getDate() +(31- currentDate.getDate());
}
case 4,6,9,11:{
minusDate = downDate.getDate() +(30- currentDate.getDate());
}
case 2:{
if((currentDate.getFullYear()%4==0&¤tDate.getFullYear()%100!=0)||(currentDate.getFullYear()%400==0)){//闰年
minusDate = downDate.getDate()+(29 - currentDate.getDate());
}else{
minusDate = downDate.getDate() +(28- currentDate.getDate());
}
}
}
minusMonth--;
}
if(minusMonth<0){
minusMonth=12+minusMonth;
monFlag=true;
}
minusYear=downDate.getFullYear() - currentDate.getFullYear();
if(monFlag){
minusYear--;
}
这个算法的优点是1、年月日各自为政。 2、从秒算起,为负数就向上减一,理解起来和书写起来都很方便滴哦。
第二步是将算法封装到控件,这里我使用的是<mx:Label>
需要强调的是,label换行是个弊端。但它的htmlText属性可以优化界面。
第三步是在应用界面调用封装好的label控件。为了将来计算其他倒计时,我提供了日期选择界面。
以下是我的完整源代码 欢迎切磋 erichan1979@gmail.com
分享到:
相关推荐
一个很不错的Flex倒计时源码 技术要点TextInput组件的restrict属性应用如(0-9)意味着用户只能输入数字,还有那个倒计时的算法,同时可播放声音
Flex万年历记事本_flex源码
3.软件提供正计时与倒计时两种功能,可以设置倒计时时间~!在最后10秒会有声音提醒,结束声音提醒!界面可自由拖动! 4.系统采用Flex4开发,供交流学习使用,未经本人允许,请勿传播~! 5.联系方式:qq:471832030 e-...
Flex图表制作Flex图表制作Flex图表制作Flex图表制作Flex图表制作Flex图表制作Flex图表制作Flex图表制作Flex图表制作Flex图表制作Flex图表制作Flex图表制作Flex图表制作Flex图表制作Flex图表制作Flex图表制作Flex图表...
用flex做的一个简单的倒计时软件,如果需要不同的时间间隔改几个参数就好了,另外程序所需要的声音文件,你可以用不同的MP3文件代替就好了,MP3文件最好小一点为好
Flex 利用Linkbutton实现的倒计时功能,时间可现实在页面中摸你倒计时,当时间结束后,会自动渲染其组件
采用FLEX4开发,实现PPT计时提醒功能,可设计倒计时时长及提醒时间,可自由拖动!
记事万年历flex源码 比普通的记事本要美观好用
flex写的安卓计时器,可以设定时间, 时间倒计时,可以设定计时秒数
flexsorte手机商城flex制作flexsorte手机商城flex制作flexsorte手机商城flex制作flexsorte手机商城flex制作
flex 流程图 制作 flex 流程图 制作flex 流程图 制作flex 流程图 制作flex 流程图 制作flex 流程图 制作flex 流程图 制作flex 流程图 制作flex 流程图 制作flex 流程图 制作flex 流程图 制作flex 流程图 制作flex ...
flex制作的网游地图编辑器代码flex制作的网游地图编辑器代码flex制作的网游地图编辑器代码flex制作的网游地图编辑器代码
Flex制作播放器实例一共四个实例,由浅入深。天涯精心总结。完整版的实例。flash播放器。都带源文件
使用flex制作的一个非常好看的转圈效果。
flex TabNavigator tab倒置
NULL 博文链接:https://jonsion.iteye.com/blog/1104205
FLEX制作的仿metro风格界面 分3屏, 鼠标拖动切屏
GIF动画制作 Flex GIF Animator 9.05
一款不错flex制作的MP3播放器,适合下载学习使用