去年的时候应杏林学子园的要求写个flash给计算机基础知识竞赛用,后来又将代码进行了改进,做了很多的修改,插在ppt里感觉还是很不错的.
说实在的网上的flash倒计时程序实在是太多了,不过有很少适合用在一些竞赛的情况, 不过我的美工实在是不行,感觉界面太土了,也没有什么时间改,也主要是没有什么需要.今年又要比赛了,拿出来看看.
还有详细的代码及源文件也公布给大家,希望能起到抛砖引玉的作用,能改进这个小东西
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 | sr = 480; //在这里输入你想要的时间!(单位为秒) 不要超过3600;因为没有做个显示小时的 /* 说明 这个是经过很多次改进的计时器;也是我做得最成功的一个, 以后还用编的话这个可以用来作参考! 下面写了很多的说明,就是希望大家也能从中尝到一点点东西,这里只起个抛砖引玉的作用! 让你见笑了! */ //定义局部变量t var t; //用t来化成毫秒,这用来精确到很高位,便于加个毫秒小框 t = sr*1000; //这个用来控制flash窗口的大小,即会强制将 窗口缩放到播放器的 100% 大小。 fscommand("allowscale", true); //以下是版权设置之新的右键菜单项 var linkURL = "http://www.xlxzy.cn"; var linkText = "杏林学子园"; //定义一个新的右键菜单项 var myMenu = new ContextMenu(); function goToThisURL() { //定义连接的打开方式 getURL(linkURL, "_blank"); } var y = new ContextMenuItem(linkText, goToThisURL); myMenu.customItems.push(y); var yinheli = new ContextMenuItem("尹和礼制作", goToThisURL); myMenu.customItems.push(yinheli); _root.menu = myMenu; //新的右键菜单项完成了; /////初始化函数 function ch() { //m为分钟,s为秒钟,ss为毫秒. m = int(sr/60); //"%"这个符号是模运算,这个VB里也有,就不多说了 s = int(sr%60); ss = "00"; //格式控制 if (m<10) { m = "0"+m; } if (s<10) { s = "0"+s; } //格式控制结束则输出来 sc = m+" "+":"+" "+s; //这个是把倒计时那个影片剪辑移动到很远的地方,不要让我们看到! setProperty(this.dao_mc, _x, 750); setProperty(this.dao_mc, _y, 30); ////定义声音di 和dd;s1 s2 用来逻辑判断声音的播放 //这里的_global是全局的意思.(这里可用可不用) _global.s1; s1 = true; _global.s2; s2 = true; //定义进入倒计时的声音; di = new Sound(); //链接声音 di.attachSound("di"); dd = new Sound(); //同上 dd.attachSound("dd"); onEnterFrame = function () { //这个onEnterFrame用来连续调用下边的计算 if (_ymouse<15 & _ymouse>=8 & _xmouse<50) { //这是我的个人版权设置.满足则出现我的名字; setProperty(this.c_mc, _visible, true); setProperty(this.c_mc, _x, _xmouse); setProperty(this.c_mc, _y, _ymouse); Mouse.hide(); } else { //这是不满足的情况; setProperty(this.c_mc, _visible, false); Mouse.show(); } }; } //核心计算部分 function js() { //getTimer指自flash开始播放时起已经过的毫秒数。 g = getTimer(); //这个onEnterFrame用来连续调用下边的计算;从而实现文本框数据的不断更新 onEnterFrame = function () { //个人版权 同上 if (_ymouse<15 & _ymouse>=8 & _xmouse<50) { setProperty(this.c_mc, _visible, true); setProperty(this.c_mc, _x, _xmouse); setProperty(this.c_mc, _y, _ymouse); Mouse.hide(); } else { setProperty(this.c_mc, _visible, false); Mouse.show(); } //临时定义了一个变量;用来放时间;单位是毫秒 var temp; //这个是剩下具体的算法,前面有,t是总时间,即你输入的时间,g为前面(87行)定义的 temp = t-getTimer()+g; //把剩下的时间化为秒 tt = temp/1000; //求出分钟 m = int(tt/60); //求出秒钟 s = int(tt%60); //求出毫秒,并格式控制它,即只显示两位 ss = String(temp-m*60*1000-s*1000).substr(0, 2); ///trace(temp-m*60*1000-s*1000)//在没有做好的时候这个用来测试, //这里要补充说明,trace这个句子很有用,你可以看看帮助.测试语句可在"输出"面板中记录编程注释或显示消息。 /* 以下是用来格式控制的.即在分钟或秒钟只有一位的时候, 就在它的前面加个0 */ if (m<10) { m = "0"+m; } if (s<10) { s = "0"+s; } sc = m+" "+":"+" "+s; ///以下控制声音的播放(要想更多的声音提示再加IF就可以了,很方便面 if (tt<=59 & s1 == true) { di.start(0, 5); //进入最后倒计时的声音,如果要从10开始下则为11 s1 = false; //s1很重要,是用来判断的.要是没有的话,就会连续的放声音,像电铃一样的 } //结束部分控制声音的播放 方法同上. if (temp<=0 & s2 == true) { //这介是用来删除onEnterFrame的,它以经完成任务了,就不要了 delete this.onEnterFrame; //再初始一次函数 ch(); //哈哈!这里,"倒计时"这个字就出现了,以下是控制它的句子. setProperty(this.dao_mc, _x, 35); setProperty(this.dao_mc, _y, 31.6); //同时我们让它播出另一个提示声音;放5次,可以改的! dd.start(0, 5); //判断 s2 = false; //这里继续让我的名字出现.呵呵! onEnterFrame = function () { if (_ymouse<15 & _ymouse>=8 & _xmouse<50) { //个人版权 同上 setProperty(this.c_mc, _visible, true); setProperty(this.c_mc, _x, _xmouse); setProperty(this.c_mc, _y, _ymouse); Mouse.hide(); } else { setProperty(this.c_mc, _visible, false); Mouse.show(); } }; } }; } //开始运行时用于初始化函数 ch(); //以下是两个按钮的控制 //开始按钮 _root.ks_btn.onPress = function() { //运行计算函数 js(); //这个按完以后 按钮不再可用. _root.ks_btn.enabled = false; _root.ks_btn._alpha=50 }; //返回按钮 _root.fh_btn.onRelease = function() { //运行初始化函数 ch(); //不要再放声音了 stopAllSounds(); //开始按钮又可以用了 _root.ks_btn.enabled = true; _root.ks_btn._alpha=100 }; |
注释不少!呵呵 下载源文件 倒数计时.zip
声明:本站遵循署名-非商业性使用-相同方式共享3.0共享协议. 转载请注明转自 PhilNa ™
收下了,哈哈