利用Flash制作一个可以自由拨动的时钟模具

时钟

  曾经因几位小学老师相邀为她们做课件,其中有好几节课都是关于时钟的认识,为了能够让小学生充分地认识时钟,不得不制作多个带有时间刻度的钟面。我记得小时候,多媒体教学还没有出现,老师为了能让我们对时钟有个直观的认识。用一块纸板和小棒做时钟模具,然后拨动给我们看,让我们来接触它,认识它。于是,我就思考,能不能通过多媒体来做一个时钟模具,可以自由拨动。经过多方思考,终于完成了。主要思路如下:

  首先我们来分析一下拨动指针的过程:

  1. 鼠标按下某一指针(时针或分针)。

  2. 鼠标拖动,此时指针随鼠标转动。

  那么如何能让指针随鼠标转动呢?如图1所示:假如鼠标开始在A点,然后将鼠标移动B点,只需要计算出∠AOB,然后将指针转动∠AOB的度数。

  3. 释放鼠标,指针停止转动。

  通过以上过程,我们能够初步模拟出拨动指针的效果。
  那么如何获得所转动的角度呢?首先让我们先来看看在Flash中坐标是怎样设定的(如图2所示),场景的左上角为坐标原点(0,0),假如场景设为400×400。则右下角坐标为(400,400)。如果我们需要线OA转到OB,在数学中我们会通过一系列的函数运算求得,但是在Flash中我们大可不必如此,因为Flash中SetProperty函数所设定的角度值并不是相对影片开始所在的位置,而是相对于OC的(平行于X轴并经过影片剪辑的参照点),也就是只要求出∠COB的值就行了,而对于这个问题是很简单的。设B点坐标为(350,350),我们只要用B点坐标减去圆心O点的坐标所得(△x,△y),然后通过Arctan(△y/△x)就可以得到∠COB的值。同样从OB转到OA也是如此,只要求出OA相对OC的值就可以求出。在Flash中,我们同样以图2为例,OC向下转动为正值,一直到OC的反向线上终止;而向上转动为负值,同样也到OC的反向线上终止,因此OC的反向线的圆的交点与OC所在的度数有两种方法表示,分别为180°与-180°。由于我们所求的值与此保持一致,因此也不要求我们对所求值的符号做任何改动。

  具体算法就是:∠a=Arctan(Ay-Oy/Ax-Ox),其中A为指针转动后的位置与圆边相交的点,而O点为圆心所在的坐标点。

  我们已经清楚了主要的算法和过程,那么在Flash中我们又将如何实行呢?现在我们先来看看我们在Flash中用到的主要函数的具体意思。

  一、 Math.atan2(y x)

  以弧度为单位计算并返回y/x的反正切值。返回值表示相对直角三角形对角的角,其中x是邻边边长,而y是对边边长。由于最后返回的是弧度。因此要求我们将其转化为角度。Math.atan2(y,x)*180/math.PI

  二、SetProperty″target″propertyvalue/expression 

  当影片播放时,更改影片剪辑的属性值。Target为更改目标的路径,Property为要设置的属性,Value/Expression为属性的新值或值的表达式。

  所要准备的都已就绪,现在就让我们进入实战阶段吧!

  1. 打开Flash,新建文件,改其场景大小为400×400。

  2. 插入一个影片剪辑命名为分针。

  3. 点击直线工具,绘制出一条高为100,粗为4.5,垂直向上的蓝线。使其底端对其中心十字架(这里也就是设定我们前面提到的参照点)。

  4. 同样方法创建时针。颜色为红色,长为80,宽为8。

  5. 导入一张没有指针的钟面。再建立两个图层分别从库中将时针和分针拖到主场景中。命名为Shizhen、Fenzhen。

  6. 将两个指针分别定位到钟面的中间。

  7. 编码。由于两个指针的功能相同,因此通过函数来减少代码的大小。在第一帧中加和如下代码:

  logo=0; //判断鼠标是否按下变量

  function zhuan(mm)

  {x=_xmouse; //将当前鼠标的横坐标赋给x

  y=_ymouse; //将当关鼠标的纵坐标赋给y
  m=math.atan2(y-200,x-200) *180/math.PI; //求得转动角度,由于钟面的中心点坐标为(200,200),大家可以根据实际情况设定。

  setProperty(mm,_rotation,m); //指使影片剪辑转动

  右击时针影片剪辑,添加动作如下:

  on (press) {logo=1;}  //由于我们需要鼠标按下与拖动都发生触发事件,因此以Logo作为变量来控制鼠标是否按下,如果鼠标按下Logo为非零

  on (release, releaseOutside) {logo=0;}  //鼠标释放Logo为零

  onClipEvent (mouseMove) { //鼠标移动则运行下列代码

  if(logo==1) //判断鼠标是否按下

  {_root.zhuan(_root.shizhen);} //调用Zhuan函数

  }

  对于分针我们只需将_root.zhuan(_root.shizhen)改为_root.zhuan(_root.fenzhen)。至此,我们的时钟模具就完成了。

时间: 2024-12-22 14:28:38

利用Flash制作一个可以自由拨动的时钟模具的相关文章

如何利用FLASH制作留言板

如何利用FLASH制作留言板? 解决思路 我们可以通过FLASH  MX中自带的组建来实现一个简单的留言板实例.使用FLASH中的组件非常方便.本例只是涉及到了制作,留言板在具体的应用中还有很多FLASH以外的知识,在这里就不向大家介绍了. 具体步骤 1,  运行FLASH MX,文档属性默认. 2,  导入一幅壁纸图片留言板的背景.朋友们也可以自己设置FLASH文档背景或者建立一个图层作为背景.如图1所示. 图1    导入背景图片 3,  新建一个图层,利用文本工具,输入静态文本.并设置它们

高级:利用Flash制作精彩的迷宫游戏

高级 网页教学网:在以前的教程中我们讲解了利用Flash制作游戏的一些方法,比如碰撞的检测等,在这个教程中我们利用以前学的知识创建一个不错的迷宫游戏!该教程主要是Flash利用材质和遮照创建真实的小球动画的延续,利用创建好的小球滚动动画制作迷宫游戏. 在学习这个教程前请大家查看 利用材质和遮照创建真实的小球动画 教程.教程中所使用的背景请看:利用Photoshop Action打造精美的宇宙星空特效 在这篇教程中没有新的知识,就是利用一个舞台(地图),然后还有一个运动的小球实现的一个小的Flas

flash制作一个简单的音乐动画教程

  很多同学都对Flash感兴趣 ,下面小编就教教大家如何用flash做一个简单的动画. 通过这个设计充分地将FLASH动画的现况分析出来了,本设计是根据选定音乐.人物的设定.剧本的创作.场景的布置等.首先就是选歌,一部好的MTV就得有一首贯穿全场的好歌,其次就是根据歌意确定主题和场景的布置,最后围绕剧情制造出MTV. 工具/原料 Flash PS 一首自己感兴趣的歌 素材照片 方法/步骤 1.2 Flash软件的特点 FLASH的全称是Macromedia flash,后来又被adobe收购了

用Flash制作一个跳动的黄色笑脸小球

  现在flash已经覆盖了网络的各个方面,很多人看了网上动画之后都想学学,网上多数是视频,教程繁琐记不住,这次您就和编一步步去做就可以了.今天为大家带来用Flash制作一个跳动的黄色笑脸小球,教程比较基础,很适合新手来学习,感兴趣的朋友来学习吧! 方法/步骤 第一步打开Flash软件 选3.0或是2.0都是可以的 里小编我就选3.0吧.要是没有的话 百度上下一个. 在这里我们点"舞台"把颜色改成黑色就可以了,上面的数字是步骤 选好了之后我们回到工作场景中去 首先我们要画一个球 在文件

photoshop利用布尔运算制作一个八卦图标教程详解

给各位photoshop软件的使用者们来详细的解析分享一下利用布尔运算制作一个八卦图标的教程. 教程分享: 新建一个长宽相同的画布,布置两条上下左右居中的参考线.   先画中间的太极图,用矢量椭圆画一个深灰色的圆形,颜色选择现在无所谓,看着舒服就行,等完成后再改回来.   复制一层,CTRL+T缩小一点改成白色,用"减去"模式画一个矩形删掉半个圆形.   按A点击白色圆形,CTRL+ALT+T复制路径.缩小50%,为了精确,可以直接输入百分比,移动到上边,因为有参考线的吸附作用,很轻松

如何利用FLASH制作留言板?

解决思路 我们可以通过FLASH  MX中自带的组建来实现一个简单的留言板实例.使用FLASH中的组件非常方便.本例只是涉及到了制作,留言板在具体的应用中还有很多FLASH以外的知识,在这里就不向大家介绍了. 具体步骤 1,  运行FLASH MX,文档属性默认. 2,  导入一幅壁纸图片留言板的背景.朋友们也可以自己设置FLASH文档背景或者建立一个图层作为背景.如图1所示.   3,  新建一个图层,利用文本工具,输入静态文本.并设置它们的位置.如图2所示.设置文本的位置可以采用[窗口]|[

Flash制作物体的自由运动

很多学习Flash的朋友都想掌握Flash编程,来加强自己的Flash设计能力.只是大多的朋友觉得Flash很难,很难学会.今天,笔者就借助一个简单的Flash编程实例来给大家讲解如何学好Flash编程. 首先大家不要紧张,这个例子设计很简单,程序也不是很难.在程序中,笔者已经加了注释.在文章最后,笔者将给大家讲解一些代码使用方法.好了,下面我们就来制作吧. 效果预览: 源文件下载:点击这里下载(3K, zip压缩文件) 1.按快捷键Ctrl+F8打开"创建新元件"面板,制作一个名为&

Flash制作一个精美的课件退出窗口

    作者:安徽省潜山中学 王晓苏 为了方便用户使用,课件中都应该有一个[退出]按钮.但为了防止误操作,应在单击该按钮时出现一个对话框窗口,让用户选择是否真的退出.在Flash中,我们可以很容易地制作一个类似于Windows XP"关闭计算机"的精美退出窗口(图1). 图1 制作思路:先制作对话框窗口的背景面板,再制作两个按钮,然后加入命令. 制作方法如下: 1. 启动Flash MX,选择"插入→新建元件"命令打开"创建新元件"对话框,在&q

VC中利用FLASH制作图声并茂的动画程序

前言: FLASH是一种功能强大的矢量动画,可以制作出各种华丽的电影效果,应用非常广泛!这也给予我们一个启迪:如果在VC程序中能够播放FLASH动画,将为程序增色不少,而且许多原本不易实现的功能,现在都可以轻松实现! 像金山词霸的安装程序主控界面就利用了FLASH,效果相当好.本文中笔者将制作一个完整的多媒体软件,将一些关键性技术介绍给大家,并提供全部代码供大家参考. 本文使用到的关键性技术: (1)利用VB制作MS AGENT播放模块. (2)将该播放模块.FLASH动画文件SWF与其它必要资