CG橙子精彩导航: CG橙子搜索引擎 | 博客 | 动画视频
广告|项目|培训|竞价排名  
86CG > CG教程 > 平面 > Flash > As 3.0教程(2):AS3.0的类及绑定

As 3.0教程(2):AS3.0的类及绑定

类型:转载 | 时间:2007-1-8 |  点击:
·第 1 页:AS3.0的类及绑定 [1]
·第 2 页:AS3.0的类及绑定 [2]

作者的blog: www.kingda.org

ActionScript 3.0系列教程(1):与Flash9先来一次亲密接触!

ActionScript 3.0系列教程(2):AS3.0的类及绑定

这次我们开始介绍AS3.0中的类如何和库中元件绑定,和特殊的Document Class设计。

总共4步:

1.建一个标准的AS3.0类 (暂命名为KingdaMC,多么伟大的名字啊,简称“有名”)
2.新建一个元件,并设置它的Linkage和上面的类绑定。
3.在时间轴上写代码,用AS3.0代码创建n份“有名”。
4.删掉时间轴上代码,使用Flash 9新特色Document Class在舞台上创造n份“有名”。just 体验一把。

(写起来才知道要讲的内容多啊,晕,打了两个小时,累了,本节专门只讲讲AS3.0的类吧,其余的慢慢再讲)
在创建AS3.0之前,请允许我先对AS3.0类的语法和继承设计表示敬意。与标准的完全兼容,更好更严格的封装特性,特别是命名空间(name space)的引入。从今天起从AS3.0起, 在OOP层面上,AS3.0已经和Java,C#平起平坐了,甚至在某些方面(比如name space)比java更有意思。

让俺对AS2.0老鸟说几句憋在心里的激动之语:
如果说AS2.0只是外表接近OOP标准语言,内在还是乱糟糟的AS1.0脚本语言,那么AS3.0不论是从OOP设计级别,还是从编译器级别(如,对弱引用—— week reference—— 的支持)来评估的都是标准、正宗、强大的语言。

从AS3.0起,我们ActionScript 开发者可以挺起胸口,俺们是真正的行业标准级程序员。

在我继续教程之前,我要唱首歌给大家听:
AS3的英明,绝对不是一句两句能说清!~~~~~~

打完,收工。

1.建立AS3.0类文件

类文件是干嘛用的?比如说,我们想让一个对象(Object)有很多功能,比如说这个对象是MovieClip型的,支持拖拽,支持双击等等。那么先在一个类文件里写清楚这些要求和实现方法,然后就可以用这个类创建许多实例,这些实例就全具有了这些功能。写一次,就能用很多次,多好。最重要的是它还可以通过继承来重用很多代码,为将来节省更多的时间。

废话少说,Ctrl+N打开“新建”窗口,选择建立“ActionScript file”,Ctrl+S,暂存为"KingdaMC.as"文件。(即“有名”的类文件)。

输入如下代码:

//代码如下

//package 见讲解1
package {                                       
   import flash.display.MovieClip;     //讲解2
   import flash.events.MouseEvent; 

   //讲解3
   public class KingdaMC extends MovieClip {
        public function KingdaMC() {
         trace("Kingda created: " + this.name);
       
         this.buttonMode = true;
         this.addEventListener(MouseEvent.CLICK, clickHandler);
         this.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownListener);
         this.addEventListener(MouseEvent.MOUSE_UP, mouseUpListener);
      }
      private function clickHandler(event:MouseEvent):void {
         trace("You clicked the ball");
      }
      function mouseDownListener(event:MouseEvent):void {
         this.startDrag();
      }
      function mouseUpListener(event:MouseEvent):void {
         this.stopDrag();
      }
   }
}

讲解1: AS2.0中我们使用的是全饰名称来声明类,通俗说,包括了类的路径在类名前。AS3.0则把路径提取出放在package这个关键字后面。本文例子中的类文件和Fla文件在同一个目录下,因此 package后面没有什么东西。如果类文件在 org目录下的kingda目录里,那么就要写成 :

// ActionScript 2.0
class org.kingda.KingdaMC { 
}

// ActionScript 3.0
package org.kingda {
  public class KingdaMC {}
}

你在package中可以定义好几个类,不用再写全饰名称了。但我不推荐这样做。一个文件一个类比较好管理。

 

分页:[1] [2]
可打印版本 | 文章评论 | 我来纠错

|网友评论

    笔名:

    内容:

        

    iPad售楼系统软件

    国内最好的全景漫游软件任我游

    iHouse售楼系统软件

    谁都可以轻松开发APP(HTML5APP)

    全景视频3D视频视景360

    HTML5移动平台iOS/Android解决方案

    强大的地图引擎ZoomMap

    环物浏览器Object360

    |热点关注

    关于我们 - 版权隐私 - 友情链接 - 广告服务 - 项目合作 - 网站地图 - 联系方式

    ©Copyright by 86CG.COM, 2006-2013. All rights reserved 京ICP备06059503号