AS3 中的package(包)应用实例代码

 更新时间:2008年08月05日 17:14:02   作者:  
初学者在学习AS3时会遇到什么样的问题呢?只有从初学的角度来实践,才能知道,package 这个高手们必玩的内容,对初学者来说或许就有一些困惑。
包(package)的概念在AS2中就已经存在,它表示硬盘中的一个目录结构,该目录结构是用来分类存贮各种类文件的。在AS3中这个概念仍旧可以理解为是一个路径,或是目录结构,包的名称也就是你的类所在的目录位置。

  如果类文件和fla文件保存在同一个目录位置中,那么就不需要为“包”指定一个名字。比如:我们先建立这样一个 MyMsg.as 类定义文件,文件中输入以下的代码:

package {
    public class MyMsg {
         public function showMsg () {
               trace ( "I'm in the same place with fla file.");
         }
     }
}


  然后在主场景中建立这个对象的实例,并对它的方法程序 showMsg进行调用。

var msg:MyMsg = new MyMsg();
msg.showMsg();

  将fla 文件与类文件保存在一起,运行之后可以看到,输出窗口中将输出我们设定好的内容。

  在文件保存的位置上,我们建立一个目录比如叫 dzxz,在它里面再建一个目录比如叫 as3,在dzxz\as3目录里新建一个类文件叫 MyMsg2.as,它位于一个目录结构中,所以需要指定它的包名称,类代码写成如下形式:

package dzxz.as3 {
    public class MyMsg2 {
         public function showMsg () {
               trace ( "I'm in the package of dzxz.as3 !");
         }
     }
}

  在主场景中若要使用包中的MyMsg2类,就必需先导入包,用import 语句,添加一行导入语句,代码改为:

import dzxz.as3.MyMsg2;

var msg:MyMsg2 = new MyMsg2();
msg.showMsg ();

  (在测试时发现,如果包中的类名和当前目录下的类名一至时,当前的类文件优先被使用,所以包中的类名改成 MyMsg2)

  通过前面的例子可以发现,包名称是写在 package和{之间的,类文件的名称MyMsag.as 是和它里面的类名称MyMsg 保持一致的。如果使用了包名称,就必须用目录结构来存放类文件,这做的好处是类多的时候不容易搞混。

相关文章

  • 编写高效率的AS3代码的小技巧

    编写高效率的AS3代码的小技巧

    最近我研究了一些AS3代码优化的文章,一般都是集中在研究loops 和 Number types上的,本文不在重复类似的测试
    2009-02-02
  • AS3自写类整理笔记 Dot类

    AS3自写类整理笔记 Dot类

    拖拽物体1和物体2,就可以看到效果了 index.base.geom.Dot类讲解 基本功能:记录xy两点
    2008-06-06
  • Actionscript 3.0 鼠标事件

    Actionscript 3.0 鼠标事件

    这本书是一本经典的书籍,说实话一些小的AS3的项目是做了好几个,基本的语法也都知道(其实有面向对象编程语言的基础后再入门一门新的语言还是很快的)。现在找到了这边经典书籍完整版,就好好看看,顺便写一些总结。
    2009-02-02
  • flash PureMVC 使用例子

    flash PureMVC 使用例子

    昨天下了PureMVC, 看了一天文档, 迷茫啊, 找例子也没找到, 后来破解了一个看了一下, 大概地写了一个简单的用例, 先算是学习笔记吧, 先把这最简单的例子做法写一下吧( 也不知道这种理解是否正确哦~~汗一个!)
    2009-01-01
  • ActionScript 3.0 编程体验

    ActionScript 3.0 编程体验

    日前,Adobe公司发布了Flash的最新版本Flash Professional 9 ActionScript 3.0 Preview,这是Flash 9的预览版,正式版本估计要到2007年才会推出,
    2008-03-03
  • as3+xml+asp+access做的有奖问答

    as3+xml+asp+access做的有奖问答

    as3+xml+asp+access做的有奖问答实现代码
    2009-02-02
  • as3 rollOver or mouseOver使用说明

    as3 rollOver or mouseOver使用说明

    rollOver与mouseOver同样在鼠标移到目标上时触发事件,细微区别在于,mouseOver的bubbles等于true,而rollOver的bubbles是false.
    2009-10-10
  • 火山动态文本滚动条V5[AS3版]

    火山动态文本滚动条V5[AS3版]

    功能说明:本版滚动条除了继续保持体积小(小于2K),界面容易修改,资源占用率小的优势外,主要有以下几点改进: 1,使用AS3编写。 2,宽高动态指定。 3,增加滚动条背景点击事件。 4,消除了鼠标滚轮无法同时准确控制多个文本框的重大BUG。
    2008-03-03
  • Actionscript 3.0中Singleton实现 修正篇

    Actionscript 3.0中Singleton实现 修正篇

    说明:上一篇"一个简单的Actionscript的单态模式类"的实现在Actionscript中报错,具体原因会在这篇Blog中详细说明。
    2009-02-02
  • AS3 中的package(包)应用实例代码

    AS3 中的package(包)应用实例代码

    初学者在学习AS3时会遇到什么样的问题呢?只有从初学的角度来实践,才能知道,package 这个高手们必玩的内容,对初学者来说或许就有一些困惑。
    2008-08-08

最新评论