您的位置:首页 > 其它

AS3程序:Kclock(Flash 时钟)

2008-01-23 09:55 267 查看
个人总结:
1、AS3代码规范和习惯和之前的AS1,AS2是完全不同的,变得太多了!
2、比较欣赏AS3中的document class引用,能够完全做到界面和代码完全分离!界面在Kclock.fla文件里,所有的代码都在Kclock.as代码文件里!爽吧!
3、AS1,AS2是通过attachMovie方法把库里(通过Linkage中的关键字)的MC加载到场景中的,AS3则是将把库里(通过Linkage中的类)的MC,将其看作一个类,通用new 类名的方式,再通过addChild方法把它加载到场景中。这个是完全和原来不一样了!
4、用Timer类来代替原来的setInterval方法,这个到我原来写过的Thread类很类似的(激动一下)!
5、这个程序我花了一个下午的时间写出来的,属于一个习作,为了感受一下AS3!对于原来的flash开发者来说:就是把习惯进行根本 转变一下!

效果截图:



Kclock代码:

package {
import flash.display.Sprite;
import flash.events.TimerEvent;
import flash.utils.Timer;
public class Kclock extends Sprite {
public var ticker:Timer;

public function Kclock() {
this.drawFace();
this.drawHand();
this.update();
this.ticker = new Timer(1000);
this.ticker.addEventListener(TimerEvent.TIMER, onTick);
this.ticker.start();
}

private function drawFace():void{
var face:Face = new Face();
face.x = 150;
face.y = 150;
face.name = "face";
this.addChild(face);
}

private function drawHand():void{
var sec:SecondHand = new SecondHand();
sec.x = 150;
sec.y = 150;
sec.name = "sec";
this.addChild(sec);
var min:MinuteHand = new MinuteHand();
min.x = 150;
min.y = 150;
min.name = "min";
this.addChild(min);
var hou:HourHand = new HourHand();
hou.x = 150;
hou.y = 150;
hou.name = "hou";
this.addChild(hou);
var cen:Center = new Center();
cen.x = 150;
cen.y = 150;
cen.name = "cen";
this.addChild(cen);
}

public function onTick(evt:TimerEvent):void{
this.update();
}

private function update():void{
var today:Date = new Date();
var len:uint = this.numChildren;
for(var i:uint = 0;i<len;i++){
var clild:Sprite = this.getChildAt(i) as Sprite;
switch(clild.name){
case "sec":
clild.rotation = today.getSeconds()*6;
break;
case "min":
clild.rotation = today.getMinutes()*6;
break;
case "hou":
clild.rotation = (today.getHours() * 30) + (today.getMinutes() * 0.5);
break;
}
}
}
}
}

下载文件:Kclock.rar
文件清单:
1、Kclock.fla flash源文件
2、Kclock.as 代码文件
3、Kclock.swf 生成的Swf文件需要flash player 9 才可以打开
4、Kclock.exe 生成的exe文件。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: