很多时候,我们为了项目和程序结构更加清晰,需要将发布好的swf放到一个固定的地方供主文件引用,这时就会出现发布好的swf所用的as类路径发生改变,为避免这个问题,需要用到动态链接库,以下做一个简单例子;

新建test.fla,作为需要加载的swf文件;新建Test.as,作为test.fla引用的as类,放在com.ysplib包下,新建main.fla作为加载

test.swf的程序主文件。

Test.as类:

 package com.ysplib
{
/**
* ...
* @author FrostYen
*/
public class Test
{
public function Test()
{
trace("test");
}
}
}

在test.fla第一帧上写以下代码:

import com.ysplib.Test;

Test;//如果没在FLASH里出现过,编译的时候不会被编译进SWF中.

把发布好的包含Test.as类的test.swf放到lib文件夹下,然后在main.fla第一帧上写以下代码:

import flash.net.*;

import flash.events.*;

var ldr:Loader = new Loader  ;

ldr.contentLoaderInfo.addEventListener(Event.COMPLETE,onComplete);

ldr.load(new URLRequest("lib/test.swf"));

function onComplete(e:Event):void
{ trace("Complete"); var ClassReference:Class = ldr.contentLoaderInfo.applicationDomain.getDefinition("com.ysplib.Test") as Class; //("com.ysplib::Test") 与("com.ysplib.Test")效果一样 new ClassReference ; }

发布main.fla会发现,已经trace出Test.as类的"test"了。

 

[ActionScript 3.0] 动态链接库的更多相关文章

  1. ActionScript 3.0入门:Hello World、文件读写、数据存储(SharedObject)、与JS互调

    近期项目中可能要用到Flash存取数据,并与JS互调,所以就看了一下ActionScript 3.0,现把学习结果分享一下,希望对新手有帮助. 目录 ActionScript 3.0简介 Hello ...

  2. ActionScript 3.0 for the Lunder Algorithm

    package com.feiruo.Calendar.LunderCalendar { /* *@ClassName: package:com.feiruo.Calendar.LunderCalen ...

  3. [转]ActionScript 3.0入门:Hello World、文件读写、数据存储(SharedObject)、与JS互调

    本文转自:http://www.cnblogs.com/artwl/p/3396330.html 近期项目中可能要用到Flash存取数据,并与JS互调,所以就看了一下ActionScript 3.0, ...

  4. [ActionScript 3.0] AS3.0 动态加载显示内容

    可以将下列任何外部显示资源加载到 ActionScript 3.0 应用程序中: 在 ActionScript 3.0 中创作的 SWF 文件 — 此文件可以是 Sprite.MovieClip 或扩 ...

  5. 【转】学习Flex ActionScript 3.0 强烈推荐电子书

    学习Flex ActionScript 3.0 强烈推荐电子书 AdvancED ActionScript 3.0 Animation(<Make things  move>姐妹篇,强烈推 ...

  6. ActionScript 3.0 API 中的 Video 类

    注:这个类在Flash流媒体开发中使用的很频繁,在此记录一下它的使用方法. 包 flash.media 类 public class Video 继承 Video  DisplayObject  Ev ...

  7. [ActionScript 3.0] as3处理xml的功能和遍历节点

    as3比as2处理xml的功能增强了N倍,获取或遍历节点非常之方便,类似于json对像的处理方式. XML 的一个强大功能是它能够通过文本字符的线性字符串提供复杂的嵌套数据.将数据加载到 XML 对象 ...

  8. [ActionScript 3.0] 正则表达式

    正则表达式: 正则表达式最早是由数学家Stephen Kleene在对自然语言的递增研究成果的基础上,于1956提出来的.具有完整语法的正则表达式,主要使用在字符串的格式的匹配方面上,后来也逐渐应用到 ...

  9. 在 Flash ActionScript 2.0 中调用 Javascript 方法

    本篇文章由:http://xinpure.com/call-the-javascript-method-in-flash-actionscript-2-0/ 在 Flash ActionScript ...

随机推荐

  1. Stencil

    [Stencil] The stencil buffer can be used as a general purpose per pixel mask for saving or discardin ...

  2. 554. Brick Wall最少的穿墙个数

    [抄题]: There is a brick wall in front of you. The wall is rectangular and has several rows of bricks. ...

  3. 泛型、反射和抽象工厂结合解决多DB问题

  4. leetCode--towSum

    题目链接:https://leetcode.com/problems/two-sum/description/ 此题的意思是:给定一个target值,从给定的数组中找两个数,使得这两个数的和==tar ...

  5. [SoapUI] 通过Groovy获取SoapUI当前Project所在的目录

    import com.eviware.soapui.support.GroovyUtils def groovyUtils = new GroovyUtils( context ) def proje ...

  6. C# 四舍五入的理解

    Math.Round(45.367,2)     //Returns   45.37 Math.Round(45.365,2)     //Returns   45.36 C#中的Round()不是我 ...

  7. java GC机制(转)

    http://blog.csdn.net/zsuguangh/article/details/6429592 1. 垃圾回收的意义 在C++中,对象所占的内存在程序结束运行之前一直被占用,在明确释放之 ...

  8. java中Integer常量池

    我们先看一个关于Integer的例子 public static void main(String[] args) { // TeODO Auto-generated method stu Integ ...

  9. js基础巩固练习

    ---恢复内容开始--- 今天讲了js的基础知识 js的组成3部分1 ECMAscript  核心  2 DOM 文本对象模型   3BOM  浏览器模型 js 的引入方式三种 1 在body里作为标 ...

  10. 哇,两门学考都是A(〃'▽'〃)

    看来只要拼命去搞,两个月也是可以搞出来的啊~