根据钟表实例说明制作flash action动画的一般步骤

要求代码齐全,不能只做电子表钟,必须有三个指针
2025-12-17 00:11:51
推荐回答(2个)
回答1:

  本座在百无聊赖之事无意间打开了百度问问,更蛋疼的回答你的问题。
  唉 谁叫这破事让我碰到了 就回答你吧。
  你可以先打开FLASH这个软件,如果你用的是8.0或者MX2004或者啥来我就忘了,就是使用AS2.0的语言用这个代码可以滴。这代码我在下面写着了,既然问代码就知道“/* 、 */”中间的是解释了
  _root.onEnterFrame = function ()/*总函数,onEnterFrame这个可以理解为不断更新,不断更新什么呢?function。这个单词是函数的意思,回去查下字典吧,这个句式怎么用。结合起来就是不断更新这个函数,这个函数没命名,所以这函数没名字。*/
  {
  myDate = new Date();/*myDate是变量,你也可以用别的代替,不过用别的以后下面的myDate都要换掉的。这里设置一个变量myDate并给他赋值为new Date() ,new是新 不过解释, Date()是你系统的时间,这个问题不多解释,罗嗦起来就没完了,要记得 基本上所有的时钟FLSAH都是摄取你的系统时间来做的。这句就理解为 让系统时间变成你影片中的一个变量就哦了。正规的书写应该是var my_date:Date = new Date();上文有摄取时间了 下面就应该把摄取的时间反映出来,怎么反映呢?就要用另外一个函数了 那就是.getHours()、.getMinutes() 、.getSeconds() 。提取时、分、秒。*/
  hourHand._rotation = myDate.getHours() * 30 + myDate.getMinutes() / 2;/*hourHand是影片剪辑(英文缩写MC)的名字,我们做一个时针的MC,并把这个MC称为hourHand。这样说比较容易懂的。._rotation 这里面注意到里面那个“.”没有?那个“.”在AS2.0中可以理解为“的”。_rotation 是一个属性函数,是旋转角度。“=”可以理解为赋值,让它左面的东西执行一个命令,那个命令就是它右面的内容。myDate.getHours() * 30 这个是一个数字,这个数字就是你系统时间上“时”那位上的数字乘以30。好像有点乱吧,举个例子,比如说现在的时间是22时44分,那么现在这个数字就是22乘以30就是660。这个是怎么回事呢?是因为一个表上有12个点来做标记,圆一周是360度,平局分12个点就是30度一点,对吧。也就是假设0点(或者12点),时针为0度,那么1点整的时候指针在30度的位置。后面的myDate.getMinutes() / 2就是提取“分”位上的数字除以2。不做过多解释。为啥要这么弄的,因为分针转360度时针只转30度,而.getMinutes() 这个函数只能提取到0-59,所以要除以2,也就是说两分钟时针转1度。至于+号前的就是当前的时位上所应有的。可能有点乱哈,好好想想就明白了。整理下,整句话的意思是我们建立并命名的影片剪辑hourHand的旋转角度是“时”位上的数乘以30加上“分”位上的数的一半的和。(这句话要是理解不好说明你初中没毕业,初中代数第一章就学这么恶心的东西,而且一学就是近一个月。那时候都快恶心死我了!)*/
  minuteHand._rotation = myDate.getMinutes() * 6 + myDate.getSeconds() / 10;/*和上面一样一样的,这个开头的MC的名字是minuteHand,我们把制作好的分针的影片剪辑命名为minuteHand。minuteHand的旋转角度是“分”位上的数字乘以6再加上“秒”位上的数字除以10的和。*/
  secondHand._rotation = myDate.getSeconds() * 6;/*还用解释么?就是秒针啦。*/
  };/*刀落收功*/

  值得注意的是中心点和注册点的问题,注册点弄不好指针的旋转中心也就变了。

  还有 这个破烂网上有很多视频教程的,我当初学这些的时候都是在网上找的。

  没了。

回答2:

到网上下载个时钟flash原文件来破解一下,就可以研究里面的代码了