BitComet 旗下网站

转到日志
相关贴吧:
flash AS3 教程 ActionScript [短篇 ]

从Flash AS2迁移到AS3(AS:ActionScript)

楼主 发表于:2008-05-26 18:41:54 [回复]

  自己也是初学Flash ActionScript3,所写只是从一个菜鸟的角度来看Flash AS3,*_^。

  AS2和AS3有很大的区别,下面以一个时钟的脚本为例介绍如何由AS2迁移到AS3:

 

  首先新建一个fla文件,然后将以前的复制过来(脚本不会跟着复制?反正我的没有),然后改一下它的脚本:

  AS2的脚本很大写在实例上,这里也一样,看看AS2的:

 

onClipEvent (enterFrame) {
    var o_Date = new Date ();
    var Hours = o_Date.getHours();
    if (12 < Hours) {
        Hours = Hours - 12;
    }
    _rotation  = ((Hours * 30) + (o_Date.getMinutes() / 2));
}

 

onClipEvent (enterFrame) {
    var Time = new Date ();
    _rotation  = (6 * Time.getMinutes());
}

onClipEvent (enterFrame) {
    var Time = new Date ();
    _rotation  = (6 * Time.getSeconds());
}

 

  而AS3的脚本不能写在实例上,语法也有点不同,象上面的第一段(很容易看出那是使时针运行的脚本),要改成下面的:

mc_Hand.addEventListener(Event.ENTER_FRAME,driveHour);//脚本不在对象实例上,要加个侦听
function driveHour(evt:Event):void {
 var o_Date:Date = new Date ();//这里AS3的数据类型定义是强制定义的,和AS2不同
 var Hours:uint = o_Date.getHours();
 if (12 < Hours) {
  Hours = Hours - 12;
 }
 mc_Hand.rotation  = ((Hours * 30) + (o_Date.getMinutes() / 2));
}
  看看,就是这样改一下就行了,其它两个依样画葫芦就行了:

 

mc_HandMin.addEventListener(Event.ENTER_FRAME,driveMin);
function driveMin(evt:Event):void {
 var Time:Date = new Date ();
 mc_HandMin.rotation  = (6 * Time.getMinutes());
}
mc_HandSec.addEventListener(Event.ENTER_FRAME,driveSec);
function driveSec(evt:Event):void {
 var Time:Date = new Date ();
 mc_HandSec.rotation  = (6 * Time.getSeconds());
}

 

  最后,如果你将帧速改小一点,比如3甚至更小(不能小于1吧,要不就是你的秒针几秒钟才动一次了,*_^)。

 

 

 


Something ends, something begins, and something never changes......

1楼 发表于:2008-05-26 19:14:00 [回复]

this is what..........


网友回复

  • 2008-05-26 20:01:25
  • 笨笨(3752584)
  • nothing

  • Something ends, something begins, and something never changes......
  • 2008-05-26 20:50:14
  • 小三(3752584)
  • 达文西 密码...

  • 弃我去者,昨日之日不可留。 乱我心者,今日之日多烦忧。 长风万里送秋雁,对此可以酣高楼。 蓬莱文章建安骨,中间小谢又清发。 俱怀逸兴壮思飞,欲上青天揽明月。 抽刀断水水更流,举杯消愁愁更愁。 人生在世不称意,明朝散发寻扁舟。

修正果。

2楼 发表于:2008-05-26 20:13:17 [回复]


网友回复

  • 2008-05-26 21:34:49
  • 笨笨(3752584)
  • 人家女生看了这些编程的东西会晕,你大男人也晕啊.

    要不标题改为:让女生晕倒的东西,嘿.提高点击率

  • Something ends, something begins, and something never changes......

❤๑۩۞۩๑❤收集了一些漂亮挂件,希望对朋友有用❤๑۩۞۩๑❤我会经常来看看你的BLOG,也希望你像老朋友一样常来做客!我会把新鲜有趣的东西记录下来一块与你分享❤๑۩۞۩๑❤

3楼 发表于:2008-05-26 21:33:13 [回复]

来学习一下


网友回复

  • 2008-05-26 21:35:04
  • 笨笨(3752584)
  • Something ends, something begins, and something never changes......

青春是生命的痕迹 过去是回忆的累积.....

4楼 发表于:2008-06-26 16:57:27 [回复]

看了


有来有往.有访必回...希望朋友天天快乐,永远幸福...

5楼 发表于:2008-07-29 20:39:39 [回复]


narushana

6楼 发表于:2008-08-22 10:10:58 [回复]


让梦随心飞 让心随梦去 让心中有梦 让梦留心中

 

您现在还没有登录,请在登录后发贴