Flash制作时钟的实例教程 |
本例为用Flash AS3.0制作时钟的实例教程,为Flash AS入门教程第八课的蔓延教程, 盼望能给朋友们带来协助 。 AS3.0实例教程二-时钟的制作 动机: 固然制作时钟老套了点,但它确 可以较全面地 利用到 工夫日期和 间隔等 常识,仍不失为较好的入门练习 。 一. AS3.0 工夫日期简介 工夫和日期重要 利用在读取 工夫日期和设置 工夫 间隔两个方面 。在AS3.0中 工夫日期 依旧是用Date类来读取,与AS2.0相比3.0要猎取 工夫日期更加容易一些 。同样的要 使用Date类首先要 缔造该类的一个实例, 比方: var nowtime:Date = new Date(); 这样就 获得了一个Date的实例:nowtime 直接调用Date实例的一些属性即可 获得目前日期和 工夫,例: nowtime.fullYear 目前年份 nowtime.month+1 目前月,month属性的值是0-11,所以要 获得目前月份应该是month+1 。 nowtime.date 目前日 nowtime.day 目前礼拜值为0-6 nowtime.hours 目前小时 nowtime. minutes 目前分钟 nowtime. seconds 目前秒钟 在AS3.0中设置 工夫 间隔最常用的应该是Timer类 。 首先 缔造一个Timer类的实例: var 实例名称:Timer = new Timer( 间隔的毫秒数,[ 反复次数]); 比方我们要设置一个每隔1秒钟执行一次,共要执行5秒钟的 工夫 间隔: var jg:Timer = new Timer(1000,5); 假如没有设置 反复次数参数,那么将永不断止地每隔一 间隔 工夫执行一次 。 缔造Timer实例后,就用该实例侦听TIMER事件,来调用函数: jg. addEventListener(TimerEvent.TIMER,sc); 这样每隔一秒将调用一次sc函数,一共要调用5次 。 还要用一句: jg.start(); Timer实例开始起动 。 将要执行的动作定义在一个函数中,如上面的sc函数: 格局: function 函数名(event:TimerEvent):void{ 要执行的动作 } 下面是一个 完全的Timer类 利用的代码: var i =0; var jg:Timer = new Timer(1000,5); jg. addEventListener(TimerEvent.TIMER,sc); jg.start(); function sc(event:TimerEvent):void { i++; trace(i); } 将上述代码粘帖在第一帧,测试影片,每秒钟将会输出一个数字,5秒后 完毕运行,最后 后果是: 1 2 3 4 5 二、时钟的制作: 按下图制作好钟面及指针,时针,分针,秒针均为MC,注册点在底部正中,实例名称分别为sz_mc,fz_mc,mz_mc 年月日礼拜共4个动态文本框,实例名称分别为:y_txt,m_txt,d_txt,w_txt var dqtime:Timer = new Timer(1000); function xssj(event:TimerEvent):void{ var sj:Date = new Date(); var nf = sj.fullYear; var yf = sj.month+1; var rq = sj.date; var xq = sj.day; var h = sj.hours; var m = sj.minutes; var s = sj.seconds; var axq:Array = new Array("礼拜日","礼拜一","礼拜二","礼拜三","礼拜四","礼拜五","礼拜六"); y_txt.text = nf; m_txt.text = yf; d_txt.text = rq; w_txt.text = axq[xq]; if(h>12){ h=h-12; } sz_mc.rotation = h*30+m/2; fz_mc.rotation= m*6+s/10; mz_mc.rotation = s*6; } dqtime.addEventListener(TimerEvent.TIMER,xssj); dqtime.start(); |