Home > Technology > flash倒计时

flash倒计时

去年的时候应杏林学子园的要求写个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

  1. grubylee Oct 5th, 2008 @ 10:27 | #1

    收下了,哈哈

  2. 光飞 Oct 16th, 2008 @ 21:46 | #2

    这个计时器又有用了……
    好东西啊

  3. yinheli Oct 16th, 2008 @ 21:52 | #3

    @光飞, 有源文件和注释,自己会改吧~呵呵

  4. 光飞 Oct 17th, 2008 @ 00:14 | #4

    刚才改了一下,马马虎虎,中药系要用一下30秒的计时器,我就瞎改了一下

Submitting Comment, Give me a second...

Leave a comment

Allowed tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">
Trackbacks & Pingbacks ( 0 )
  1. No trackbacks yet.