第十五步:定义变量下面我们将定义些公有变量,将下面的添加到类声名后: public var clock:Timer=new Timer(1000); public var date:Date=new Date(); public var hr:int; public var min:int; public var sec:int; public var bits:Array; 这时会自动创建一个新Date对象将其设为当前时间。 第十六步:为变量赋值好了现在来添加让时钟启动的代码。这些是在Main函数里面的。 //通过这些来为每个变量赋初值 sec=date.getSeconds(); min=date.getMinutes(); hr=date.getHours(); clock.start(); clock.addEventListener(TimerEvent.TIMER, setTime); 第十七步:创建setTime()函数每一秒都会调用这个函数 private function setTime(e:TimerEvent):void { date=new Date(); sec=date.getSeconds(); min=date.getMinutes(); hr=date.getHours(); } 第十八步:将十进制数转化为二进制数。这个函数将把十进制数转化为二进制数,这些数过会会用到。 private function dec2bin(dec:int, length:int):Array { var bin:Array = new Array(); while((dec/2)>0) //注意这儿和 “while((dec/2)>=1)”的效果一样 { bin.push(dec%2); //dec%2是dec除以2后的余数。 3%2=1; 4%2=0; 5%2=1; 6%2=0; 等等 //也就是看这个数是偶数还是奇数 dec=dec/2; //由于dec是整形数,所以会得到一个近似数 } while(bin.length<length) bin.push(0); //这只是用0来填充数组 return bin; } 所以,调用 函数dec2bin(13, 4)得到的是 [1,1,0,1]. 第十九步:创建converter()函数这个函数将传一个十进制数并用dec2bin()函数将其转化为我们将要用的二维数组 private function converter(num:int):Array { var st:String=String(num); if (st.length==1) st=’0′+st; var fDigit:int=int(st.charAt(1)); var sDigit:int=int(st.charAt(0)); var fColumn:Array=dec2bin(fDigit,4); var sColumn:Array=dec2bin(sDigit,3); var result:Array=fColumn.concat(sColumn); return result; } (责任编辑:admin) |