首先是素材准备,制作时钟,自己设计水平比较好的话,可以自己画一个时钟,如果对自己设计水平不大自信的或者是想省点时间的话就可以到网上搜索素材,自己再稍微加工一下,就可以做个比较满意的作品了,可以用PS也可以用FW,我用的是Firework CS4+Flash CS5 ,从网上http://www.zcool.com.cn/gfx/ZMTIwNDQ0.html下载素材,然后自己稍微处理一下。

素材分层,因为里面是jpg格式的文件,只有一层,所以我们需要用FW把素材单独分层,方便调用。素材准备好之后,插入——新建元件——影片剪辑,分别是底图,时针,分针,秒针。实例名字分别是Mc_ditu,Mc_shizhen,Mc_fenzhen,Mc_miaozhen。

底图相对舞台水平垂直对齐,时针,分针,秒针都对准12刻度,现在我们来理一下思路:我们先想想,这个时钟是圆的(这是废话-O(∩_∩)O哈哈~),然后时针、分针、秒针都指在12点方向。

猜想一下,对于时针,假如1点呢?是不是要顺时针旋转1小时*30°;假如1点半呢?是不是1+30/60=1小时*30°+30/60*30°=1小时*30+1/2*分钟(°);假如1点30分30秒呢?是不是1*30+30/60*30+30/(60*60)*30(°),你会发现秒对小时的影响太小了,可以忽略不算。

对于分针,360°/ 60=6°,也就是说1分钟旋转6°,可是1分钟30秒呢,同样的是1+30/60=1分钟*6+30/60*6(°)=1分钟*6+1/10*秒(°)。

对于秒针,很显然1秒6°。

以此类推出要旋转的角度就是:小时,h*30+1/2m(°),分钟,m*6+1/10s(°),分钟,s*6(°)。

在第一帧写AS代码如下:

import flash.utils.Timer;

import flash.events.Event;

import flash.events.TimerEvent;

var listen:Timer=new Timer(1000);//定义listen时钟类实例,延时1000ms(1s),不定义重复次数,不断地计时

function shizhong(eve:Event):void //定义shizhong函数,并使用监听功能,返回只能为空,eve这是监听参数属于事件类

{

var now:Date=new Date();//定义now日期的实例,时间如果是大于12小时的需要用到

var h=now.hours;//定义h等于现在的小时

var m=now.minutes;//定义m等于现在的分钟

var s=now.seconds;//定义s等于现在的分钟

if (h>12)

{

h=h-12; //因为我们的时针只有12小时,而不是24小时

}

Mc_shizhen.rotation=h*30+1/2*m;

Mc_fenzhen.rotation=m*6+1/10*s;

Mc_miaozhen.rotation=s*6;

}

listen.addEventListener(TimerEvent.TIMER,shizhong);//添加时间事件监听事件,对函数shizhong进行监听

listen.start();//添加了监听别忘了要开始启动计时器

时钟制作完毕,可是我要是看起来效果不好,可以用一下AS3.0的滤镜以及过渡效果,我这里就用了投影的效果,所有代码如下:

import flash.utils.Timer;

import flash.events.Event;

import flash.events.TimerEvent;

import flash.filters.DropShadowFilter;

var listen:Timer=new Timer(1000);//定义listen时钟类实例,延时1000ms(1s),不定义重复次数,不断地计时

function shizhong(eve:Event):void //定义shizhong函数,并使用监听功能,返回只能为空,eve这是监听参数属于事件类

{

var now:Date=new Date();//定义now日期的实例,时间如果是大于12小时的需要用到

var h=now.hours;//定义h等于现在的小时

var m=now.minutes;//定义m等于现在的分钟

var s=now.seconds;//定义s等于现在的分钟

if (h>12)

{

h=h-12; //因为我们的时针只有12小时,而不是24小时

}

Mc_shizhen.rotation=h*30+1/2*m;

Mc_fenzhen.rotation=m*6+1/10*s;

Mc_miaozhen.rotation=s*6;

}

listen.addEventListener(TimerEvent.TIMER,shizhong);//添加时间事件监听事件,对函数shizhong进行监听

listen.start();//添加了监听别忘了要开始启动计时器

var touying:DropShadowFilter=new DropShadowFilter();//创建投影实例,默认阴影距离参数是4,可以修改成你想的参数

Mc_shizhen.filters=[touying];//对象Mc_shizhen应用投影滤镜

Mc_fenzhen.filters=[touying];//对象Mc_fenzhen应用投影滤镜

Mc_miaozhen.filters=[touying];//对象Mc_miaozhen应用投影滤镜

Actionscript 3.0制作Flash小时钟相关推荐

  1. Foundation ActionScript 3.0.With Flash CS3 And Flex ..

    这是一本很好的电子书,可以帮助你更好的学习flash and flex. Foundation ActionScript 3.0.With Flash CS3 And Flex.PDF 转载于:htt ...

  2. 利用js制作动态小时钟

    利用js制作动态小时钟 在学完Date()函数之后,可以用来与CSS结合制作一个能转动的时钟. 新建html文件,写好基本结构,代码如下: <!DOCTYPE html> <html ...

  3. 使用 cocos creator 3.0 制作抽奖小游戏

    使用 cocos creator 3.0 制作抽奖小游戏 描述 一个抽奖小游戏demo, 点击 抽奖按钮 进行抽奖, 抽完奖后该结果置灰.下一次抽奖就会跳过已经抽过的奖项. 注意: 每次点击 抽奖按钮 ...

  4. Foundation Actionscript 3.0 with Flash CS3 and Flex

    版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出版.作者信息和本声明.否则将追究法律责任. http://blog.csdn.net/topmvp - topmvp If you ...

  5. 使用AxureRP7.0制作经典小游戏"大家来找茬"

    本案例是<网站蓝图AxureRP7.0从入门到精通视频教程>中的最后一节,适用于对Axure基础知识掌握比较熟练的同学:教程由axure原型库网站录制,转载请注明出处! 相信很多刚接触Ax ...

  6. When YoloV5 Meets Raccoon:手把手用Yolov5(v4.0)制作一个小浣熊捕捉apk

    一.前言 最近博主在梳理yolov5的源码,这块相信很快就能和大家见面了.与此同时我也觉得这个系列应该也配上一点实战的内容.尤其是目前端到端的实战篇真的是太少了,大部分都是讲训练的过程,但是yolov ...

  7. 简单的flash小动画成品_怎么制作flash动画?看这里怎么说。

    互联网的发展带动抖音短视频制作浪潮,现在抖音短视频动画很流行,我们会看到很多一些二维动画片段,看多了这些可爱的动画视频,人们都想自己动手做一个简单动画.但是大部分人都是小白,不知道如何制作这样的动画. ...

  8. 《ActionScript 3.0权威指南》阅读笔记

    第二章  配置开发环境 目前,主流的ActionScript 3.0开发环境分为Flash和Flex两大类.前者是设计和开发一体的集成环境,后者是严肃的脚本开发平台,更符合程序猿的析构.开发者应根据自 ...

  9. ActionScript 3.0 Step By Step系列(六):学对象事件模型,从点击按扭开始

    事件可以理解为所发生的.ActionScript 能够识别并可响应的事情.许多事件与用户交互有关 . 例如:用户单击按钮,或按键盘上的键 ― 但也有其它类型的事件.例如,如果使用 ActionScri ...

最新文章

  1. 软件工程个人最终总结
  2. powerdesigner中如何在自动生成建表SQL时添加模式名schema
  3. 数据库杂谈(一)——数据库基本概念
  4. java泛型一定用包装类_你不知道的基本数据类型和包装类
  5. docker 漏洞_Ghost安全漏洞,Revolution Analytics被收购,Docker领导等
  6. hdfs 数据迁移_基于 JindoFS+OSS 构建高效数据湖
  7. weblogic java vendor_配置jprofiler监控Weblogic-Zee
  8. codevs——1044 拦截导弹(序列DP)
  9. XAP部署错误代码大全
  10. 【tcp】网络连接中的长连接和短连接是什么意思?
  11. Liunx学习笔记--基本网络设定(测试内容)
  12. html语言判断水仙花数,水仙花数判断讲解
  13. 白话空间统计二十三回归分析番外:残差可视化
  14. 孙悟空的师父是谁? (ZT)
  15. PTA Python习题 找钱
  16. C#:实现gnome sort 侏儒排序算法(附完整源码)
  17. C语言中的清屏函数(自己编写)
  18. js 正则替换手机号中间四位为****
  19. 极简Python:用opencv实现人脸检测,并用本地摄像头实现视频流的人脸识别
  20. 光耦隔离在单片机通信电路中的应用

热门文章

  1. 排序算法(不定时更新~)
  2. 推荐一些高效率的PC软件
  3. c++枚举在跨平台下的陷进
  4. halo个人博客搭建
  5. Zookeeper开源客户端Curator之基本功能讲解
  6. wordpress论坛安装
  7. 利用svn的blame功能查出代码的每一行是谁写/改的
  8. java pinyin4j_java实现中文汉字转拼音 Pinyin4j的基本用法
  9. 二叉堆简单实现与应用
  10. linux mmap 函数详解,Linux之mmap函数简介