钟表实例

闪客沙龙

文/大成

1、源文件下载

2、源代码解释

钟表实例制作步骤:

点“修改”、“影片”后,对影片属性进行设置,帧频选10.9每秒。

 

一、钟摆(swinging)电影剪辑组件:

 

1、钟摆图形组件(swing):

新建“图形”类组件,组件名swing,用椭圆工具和直线工具画出钟摆。

2、钟摆电影剪辑(swinging):

新建“电影剪辑”类组件,组件名称为swinging,在第一层中由于电影属性是10.9每秒,所以在11帧和22帧处插入关键帧,建立钟摆的运动动画,新建图层二,在第二层的第22帧初插入空白关键帧,选种该帧后点鼠标右键,选择“动作”,跳出“帧动作”面板后,在“专家模式”下输入以下命令:

gotoAndPlay (1);

 

二、表盘(face)图形组件:

 

新建“图形”类组件,组件名为face

1、表盘(face)层:

第一层层名为face,用椭圆工具画个圆盘。

2、数字(numbers)层:

新建图层二,第二层层名为numbers,用字符工具输入时间数字。

 

三、表针电影剪辑组件:

 

1、时针(hourHand)电影剪辑组件:

新建“电影剪辑”类组件,组件名称为hourHand,用直线工具绘制时针。

2、分针(minuteHand)电影剪辑组件:

新建“电影剪辑”类组件,组件名称为minuteHand,用直线工具绘制分针,长度比时针略长。

3、秒针(secondHand)电影剪辑组件:

新建“电影剪辑”类组件,组件名称为secondHand,用直线工具绘制秒针,长度分时针略长。

 

四、场景:

 

1、钟摆(swing)层:

第一层层名为swing,用鼠标将电影剪辑swinging组件拖拽到场景,在第2帧处插入关键帧。

2、表盘(face)层:

新建图层二,第二层层名为face,用鼠标将图形组件face拖拽到场景表盘盖住钟摆杆,并将数字6与钟摆杆对齐,在第2帧处插入空白关键帧,并将第1帧的内容复制到第2帧。

3、表针(hands)层:

新建图层三,第三层层名为hands

(1)时针“对象动作”代码:

将图库中的“时针”hourHand电影剪辑用鼠标拖拽到表盘中,针头对准数字12,针底对准表盘的圆心,用鼠标左键选种时针对象后,单击鼠标右键,选择“动作”,跳出“对象动作”面板,用“专家模式”将以下代码复制进去。

onClipEvent (enterFrame) {
setProperty (this, _rotation, _root.hours);
}

(2)分针“对象动作”代码:

同时针设置。

onClipEvent (enterFrame) {
setProperty (this, _rotation, _root.minutes);
}

(3)秒针“对象动作”代码:

同时针设置。

onClipEvent (enterFrame) {
setProperty (this, _rotation, _root.seconds);
}

在第2帧处插入空白关键帧,并将第1帧的内容复制到第2帧。

 

4、代码(action)层:

新建图层四,第四层层名为action

(1)第1帧“帧动作”代码:(注意:如果你是用Flash 5.0做的,时间会快1个小时,请将下面第2条代码改成 hours = time.getHours()-1; 经测试MX修改了这个漏洞。)

 

time = new Date();
hours = time.getHours();
minutes = time.getMinutes();
seconds = time.getSeconds();
if (hours>12) {
hours = hours-12;
}
if (hours<1) {
hours = 12;
}
hours = hours*30+int(minutes/2);
minutes = minutes*6+int(seconds/10);
seconds = seconds*6;


(2)第2帧“帧动作”代码:

 

gotoAndPlay (1);

 


五、测试存盘:

Ctrl+Enter 测试影片,导出SWF文件,保存FLA文件。