请FLASH高手帮我!

xxx2003 2003-10-20 12:38:18
尊敬的FLASH高手:
我有一个制作3分钟倒计时的FLASH问题请解,要求如下:
1.初始画面:3:00 敲回车键后时钟开始倒计时,如:2:59, 2:58 ......,直到0:00为止,并停在这一画面上,若敲回车键则回到初始画面,准备再一次倒计时;若敲其它键则进入FLASH动画的其它场景.
2.当倒计时走到0:10时(最后来10秒),每走一秒开始伴随"嘀哒"声,当走到0:00时,发出一个短小音乐声,并示回毕.
要求的第一点是关键.
各位高手请帮帮我吧!
XXX
...全文
32 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiagao 2003-10-22
  • 打赏
  • 举报
回复
刚刚没在意,
if ((m==0)&&(nn<=10)&&(nn!=n))应该为

if ((m==0)&&(n<=10)&&(nn!=n))
jiagao 2003-10-22
  • 打赏
  • 举报
回复
“当走到0:00时,发出一个短小音乐声”可以再用判断载入声音,也可以在

//转入倒计时结束后的画面 中加入声音。

jiagao 2003-10-22
  • 打赏
  • 举报
回复
动态添加声音方法有两种,一是loadSound,二是attachSound。
时钟画面等待的方案如我所说,attachSound方法如下:
1.将你需要的声音导入库中,然后给它定义标识符。
具体方法是:在库中选中导入的声音点击右键,选择连接,在连接属性中勾选导出脚本,输入标识名称(如:sound)。
2.修改第二帧action如下:
x = int(getTimer()/1000)-z;//取得已播放时间
if (Number(x)>=Number(y)) {
//转入倒计时结束后的画面
}
else {
m = int((180 - x) / 60);
n = (180 - x) % 60;
if ((m==0)&&(nn<=10)&&(nn!=n))
{
mysound = new Sound();
mysound.attachSound("sound");
mysound.start(0);
nn = n;
}
//判断时间并载入声音
if (n<10) { n = "0"+n;}
_root.time.text = m +":"+ n;//在动态文本框中显示数据
}
dmpray 2003-10-22
  • 打赏
  • 举报
回复
attach方法
xxx2003 2003-10-21
  • 打赏
  • 举报
回复
写得确实很好,可是有上问题没解决,就是声音如何加进去呢? 我试了几次,都未成功,还请指点!现我把我加的语句及其位置告之如下:
1.我在主动画前加入一帧,即新的第1帧,在其中添加按钮,按钮的ACTION:on(press){z=int(gettimer()/1000);gotoandplay(2);}
2. 在影片剪辑中,在第3帧中的第一句改为:y = Number(int(getTimer()/1000)-z)+180;//倒计时为3分钟(180秒)
3.x = int(getTimer()/1000)-z;//取得已播放时间
4.第三帧改为:gotoAndPlay(3);
在第0帧加入按钮及往下一帧走的控制代码,这样解决在播放前能先有一个时钟画面等待的图案.以上代码已通过.
我试图在里面加声音却没法啦!
mindsky 2003-10-21
  • 打赏
  • 举报
回复
To:jiagao(小羊羔)
你的方法很好,比我的好,学习
xxx2003 2003-10-20
  • 打赏
  • 举报
回复
我的分析:找到一个秒钟的发生器,系统每走一秒,通过这个发生器触发一个计数器,然后,利用这个计数器的值,来控制动态文字框的时间内容发生变化.
问题:现在我找不到这个秒钟的发生器,我知道通过:
time=new date();
minutes=time.getminutes();
seconds=time.getseconds;
找到系统的时间,但这不是一个时钟频率的发生器,我不能实现倒计时.
真诚希望有识朋友帮我一下!谢谢!
XXX
aqz 2003-10-20
  • 打赏
  • 举报
回复
好像一个LOADING啊
lushaox 2003-10-20
  • 打赏
  • 举报
回复
我要
lushaox@21cn.com
谢谢!
jiagao 2003-10-20
  • 打赏
  • 举报
回复
倒计时功能实现如下:
1.在主场景中创建动态文本,将其命名为time,用来显示计时画面(2:59, 2:58 ...)
2.创建一个影片剪辑,用来计时。影片剪辑共3帧,
第一帧action如下:
y = Number(int(getTimer()/1000))+180;//倒计时为3分钟(180秒)
play();

第二帧action:
x = int(getTimer()/1000);//取得已播放时间
if (Number(x)>=Number(y)) {
//转入倒计时结束后的画面
}
else {
m = int((180 - x) / 60);
n = (180 - x) % 60;
if (n<10) { n = "0"+n;}
_root.time.text = m +":"+ n;//在动态文本框中显示数据
}

第三帧:
gotoAndPlay(2); //循环


如你需要的话可以给个mail。

2,275

社区成员

发帖
与我相关
我的任务
社区描述
多媒体/设计/Flash/Silverlight 开发 Flash流媒体开发
社区管理员
  • Flash流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧