应用思考-教育技术论坛

标题: flash倒计时 源文件,并求改良! [打印本页]

作者: 神勇阿凡提    时间: 2012-12-19 09:03
标题: flash倒计时 源文件,并求改良!
这是flash倒计时工具,输入时间可以倒计时,并且有背景音乐。
求改良:1、倒计10秒的时候有人声音:10、9、8、7……1
             2、倒计到0的时候,停止工作!
金山快盘附件

修改后加到10秒提醒的,不过不是声音提醒,如果你想实现声音提醒,把声音文件放到影片剪辑即可。
修改后的计时器下载: (, 下载次数: 40)



作者: etthink    时间: 2012-12-19 09:31
看了一下,做得不错,但是我感觉输入文本和显示文本可以合二为一。
关于时间提示最简单的解决方法就是做一个计时的影响剪辑,在time为10时让它播放就可以实现了。这样就不需要再加载什么声音,但这样可能会有延时与同步问题。

作者: etthink    时间: 2012-12-19 09:39
另外如果使用AS3,直接用Timer对象控制时间则更简单,我来修改一下看是否符合要求
作者: etthink    时间: 2012-12-19 09:52
背景音乐文件太大,8M。。。。
作者: 神勇阿凡提    时间: 2012-12-19 11:14
etthink 发表于 2012-12-19 09:52
背景音乐文件太大,8M。。。。

亲,你是用哪个版本?我用cs3打不开!
作者: etthink    时间: 2012-12-19 12:14
神勇阿凡提 发表于 2012-12-19 11:14
亲,你是用哪个版本?我用cs3打不开!

我用cs6,存cs5
作者: 神勇阿凡提    时间: 2012-12-19 12:57
etthink 发表于 2012-12-19 12:14
我用cs6,存cs5

厉害,十秒的时候出现bc原件作为提示,
不过要求中的第二点好像没有改变,时间到的时候还会继续往负数方向走
作者: etthink    时间: 2012-12-19 13:33
神勇阿凡提 发表于 2012-12-19 12:57
厉害,十秒的时候出现bc原件作为提示,
不过要求中的第二点好像没有改变,时间到的时候还会继续往负数方 ...

第二点没有做,原理相同,只要判断为0直接给文本框重新设定停止值就行,比如显示“时间到”
作者: 想换个名字可以吗    时间: 2012-12-19 16:45
第一,关于倒计时10s提示的问题,如果要人生的话,就要有响应的素材。
第二,做计时器用Timer更加精确。
第三,如果是单纯的滴答声音,可以在Timer的onTimer事件里面调用。
作者: 想换个名字可以吗    时间: 2012-12-19 17:15
本帖最后由 郎咸蒙 于 2012-12-19 21:14 编辑

(, 下载次数: 20) (, 下载次数: 13)
看上去好像很多代码,其实代码量很小。而且避免的复杂逻辑判断。
1 输入框和显示框合二为一。
2 利用timer的ontimer事件和currentCount属性控制显示。
3 利用timer事件的Timer_complete事件和timer的reset方法来重置timer:t,让currentCount清零。
4 声音只要家在ontimer事件就ok了。
我的源文件是cs6的,大家只要用cs3及其以上的版本把脚本粘贴到时间轴,
并且建立一个叫time_txt的输入文本,startBtn的按钮

  1. import flash.utils.Timer;
  2. import flash.events.TimerEvent;
  3. import flash.events.MouseEvent;
  4. var timerCount:int=0;

  5. var t:Timer=new Timer(1000);
  6. t.addEventListener(TimerEvent.TIMER,ontimer);
  7. function ontimer(e:TimerEvent):void{
  8.     time_txt.text=String(this.timerCount-t.currentCount);
  9.     }
  10. startBtn.addEventListener(MouseEvent.CLICK,onclick);
  11. function onclick(e:MouseEvent):void{
  12.     t.repeatCount=this.timerCount=int(time_txt.text);   
  13.     t.start();
  14.     }
  15. t.addEventListener(TimerEvent.TIMER_COMPLETE,oncom);
  16. function oncom(e:TimerEvent):void{
  17.     t.reset();
  18.     }
复制代码

作者: 想换个名字可以吗    时间: 2012-12-19 17:18
flash.utils 包中的计时函数

ActionScript 3.0 包含许多与 ActionScript 2.0 提供的计时函数类似的计时函数。这些函数是作为 flash.utils 包中的包级别函数提供的,它们的功能与 ActionScript 2.0 中完全相同。

函数
       

描述

clearInterval(id:uint):void
       

取消指定的 setInterval() 调用。

clearTimeout(id:uint):void
       

取消指定的 setTimeout() 调用。

getTimer():int
       

返回自 Adobe® Flash® Player 或 Adobe® AIR™ 初始化以来经过的毫秒数。

setInterval(closure:Function, delay:Number, ... arguments):uint
       

以指定的间隔(以毫秒为单位)运行函数。

setTimeout(closure:Function, delay:Number, ... arguments):uint
       

在指定的延迟(以毫秒为单位)后运行指定的函数。

这些函数仍保留在 ActionScript 3.0 以实现向后兼容。Adobe 不建议您在新的 ActionScript 3.0 应用程序中使用这些函数。通常,在应用程序中使用 Timer 类会更容易且更有效。

作者: 想换个名字可以吗    时间: 2012-12-19 17:24
本帖最后由 郎咸蒙 于 2012-12-19 17:35 编辑

http://3.qdydh.sinaapp.com/2.swf
添加声音提示,不会有到0还出现负数的问题。

  1. import flash.utils.Timer;
  2. import flash.events.TimerEvent;
  3. import flash.events.MouseEvent;
  4. import flash.media.Sound;

  5. var timerCount:int=0;
  6. var sound:Sound=new Stip();

  7. var t:Timer=new Timer(1000);
  8. t.addEventListener(TimerEvent.TIMER,ontimer);
  9. function ontimer(e:TimerEvent):void{
  10.     var txt:int=this.timerCount-t.currentCount;
  11.     if(txt<=10)sound.play();
  12.     time_txt.text=String(txt);
  13.     }
  14. startBtn.addEventListener(MouseEvent.CLICK,onclick);
  15. function onclick(e:MouseEvent):void{
  16.     startBtn.enabled=false;
  17.     t.repeatCount=this.timerCount=int(time_txt.text);   
  18.     t.start();
  19.     }
  20. t.addEventListener(TimerEvent.TIMER_COMPLETE,oncom);
  21. function oncom(e:TimerEvent):void{
  22.     t.reset();
  23.     startBtn.enabled=true;
  24.     }
复制代码

作者: etthink    时间: 2012-12-19 21:01
郎咸蒙 发表于 2012-12-19 17:24
添加声音提示,不会有到0还出现负数的问题。

Stip()????
作者: 想换个名字可以吗    时间: 2012-12-19 21:11
etthink 发表于 2012-12-19 21:01
Stip()????

你看源文件就知道了,这个是那个在库里的声音文件,属性里面为actionscript导出为Stip类。

作者: 神勇阿凡提    时间: 2012-12-19 21:17
非常感谢 @郎咸蒙  @etthink
大家都要经常发一些问题,碰撞思想!
作者: bbd2011    时间: 2012-12-27 20:30
好贴
作者: yuxuan2658    时间: 2013-1-3 09:41
这么热闹,看看!
作者: vickyfei    时间: 2013-4-15 22:02
这个还是没有掌握
作者: shen3    时间: 2013-6-7 10:57
{:soso_e100:}

作者: 仰望星空    时间: 2014-4-28 16:38
fgdgdgdfgdfg





欢迎光临 应用思考-教育技术论坛 (http://etthink.com/) Powered by Discuz! X3.4