1 / 15

处理时间日期的技法

处理时间日期的技法. 项目:动感电子钟. 案例:实现简易的日历电子钟. Date 类的作用 检索系统的日期和时间值 ( 1 )相对于通用时间,格林尼治平均时或者标准国际时间 ( 2 )相对于操作系统的日期和时间值 创建对象的方法 ( 1 )实例名 = new Date() 创建瞬间系统时间 例:获取当前时间,并以中文方式打印出来 var md:Date=new Date(); var hh=md.getHours(); var mm=md.getMinutes(); var ss=md.getSeconds();

Download Presentation

处理时间日期的技法

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 处理时间日期的技法 项目:动感电子钟

  2. 案例:实现简易的日历电子钟 • Date类的作用 检索系统的日期和时间值 (1)相对于通用时间,格林尼治平均时或者标准国际时间 (2)相对于操作系统的日期和时间值 创建对象的方法 (1)实例名= new Date() 创建瞬间系统时间 例:获取当前时间,并以中文方式打印出来 var md:Date=new Date(); var hh=md.getHours(); var mm=md.getMinutes(); var ss=md.getSeconds(); trace(“现在是”+hh+“点”+mm+“分”+ss+“秒”);

  3. 案例:实现简易的日历电子钟 案例:查看今天是星期几?用清晰的方式表示 var md=new date(); trace(md.getDay());输出一个数字 Var week=new Array(”日”,”一”,”二”,”三”,”四”,”五”,”六”)//数组下标”0”对应”日” Day=md.getDay(); Trace(“今天是星期”+week[day])

  4. 设置输出的年份: Date.getYear() //返回本地时间年份 Date.getFullYear() //返回本地时间4位数年份 Date.setFullYear(n) //设置完整的年份数。返回以毫秒单位的新时间。 案例:查看500年前的今天是星期几? var day_array=new Array("日","一","二","三","四","五","六"); var md:Date=new Date(); var year=md.getFullYear(); md.setFullYear(year-500); var day=md.getDay(); trace("500年前的今天是星期"+day_array[day]);

  5. 处理月份和日期: Date.getDate() //返回本地时间日期(几号) Date.getMonth() //返回本地时间月份(几月)+1 Date.setDate(n) //设置某天是当月的第几天。返回以毫秒单位的新时间。 Date.setMonth (n)//设置月份数 日期的数据是从1开始的,月份是从0开始的。 案例:查看当前是几月几号? var md:Date=new Date(); trace(md);//返回当前整个时间 trace(“今天是”+md.getDate()+”号”); trace(“今天是”+ md.getMonth()+”月”);

  6. 实现简易的日历电子钟 项目要求 程序运行时显示与当前系统时间同步的日期和时间 解决方案 1.定义2个动态文本,属性面板设置变量名 2. Date类的年月日显示 Date类的时分秒显示(注意时间显示位数,不足2位用0补) 判断长度length(变量名) 3.设置变量名的值

  7. 实现倒计时效果 倒时计编程: var now = new Date(); var startTime = now.getTime();//P160 var hasTime = 10; tt_txt.text = hasTime; this.addEventListener(Event.ENTER_FRAME,setTime); function setTime(e:Event) { now = new Date(); var tempTime = now.getTime(); tt_txt.text = String(hasTime-Math.round(((tempTime-startTime)/1000))); if (tt_txt.text == "0") { this.removeEventListener(Event.ENTER_FRAME,setTime); } }

  8. 使用间隔函数完成: var i:uint=10; time_txt.text =String(i); var id:uint =setInterval(tt,1000); function tt(){ i--; time_txt.text =String(i); if (i<=0){ clearInterval(id); } }

  9. 项目4 动态电子钟 • 项目效果描述: • 能与系统时间同步,模拟时分钞针运动. • 时钟外观、时分秒针要原创 • 要带有日历 • 项目完成要求 • 上交时间4.17下午下课前提 交源文件,发布文件 • 个人独立完成

  10. 项目4 动态电子钟 • 创新时钟示例

  11. 项目4 动态电子钟 • 项目解决方案 • 设计时钟外观。 • 设计时针、分针、秒针影片剪辑 • 通过Date对象调用成员函数获取系统 日期时间,设定时针、分针、秒针影片 • 剪辑相应的旋转角度。

  12. 获得时、分、秒的方法 • getHours() • getMinutes() • getSeconds() • 旋转角度的计算 • 时针转一圈12小时,360度,360/12=30; 为产生渐变效果,以分钟变化来旋转时针,时针每分钟旋转 360/(12*60)=0.5度.即(Hours*60+Minutes)*0.5 • 分针转一圈60分钟, 360度,360/60=6; • 秒针转一圈60秒, 360度,360/60=6;

  13. 遮罩显示对象 • 指明一个显示对象是另一个显示对象的遮罩,将遮罩对象设置为被遮罩的显示对象的mask属性. • 设定遮罩 被遮罩的显示对象.mask=遮罩的显示对象; mySprite.mask=maskSprite • 调整遮罩 用作遮罩的显示对象可拖动,设置动画,并动态调整大小, 该显示对象一般要添加到显示对象. • 删除遮罩 mySprite.mask=null

  14. 放射状线条(line.fla) package{ import flash.display.MovieClip; //1180,调用的方法 addFrameScript 可能未定义,改为addScriptFrame是属于MovieClip影片剪辑的方法,不是Sprite import flash.display.Graphics; public class lines extends MovieClip{ var x0:uint=280; var y0:uint=200; public function lines(){ var n:uint= 300; for(var i:uint=0;i<n;i++){ graphics.lineStyle(1,0xffffff*Math.random()); graphics.moveTo(x0,y0); graphics.lineTo(500*Math.random()-250+x0,400*Math.random()-200+y0); } } } } • 自定义类lines.as,随机颜色0xffffff*Math.random var lines1:lines=new lines(); stage.addChild(lines1);

  15. 放射状线条(line.fla) • 自定义类lines.as,随机颜色0xffffff*Math.random • 创建lines类的实例,并显示在舞台中 var lines1:lines=new lines(); stage.addChild(lines1); 课堂作业:游动鱼儿动画(书P65) 发fish素材.fla文件

More Related