分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.youkuaiyun.com/jiangjunshow
也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!
AS3.0 实现FLASH的"动态链接库"
发布时间:2008-1-2 17:28:49 作者:system 浏览:
自动滚屏(右键暂停)
因为以前是做.net 的开发的,所以很习惯与 DLL 文件,觉得它异常方便,特别开发大型项目时,分成不同的DLL文件进行开发,不但节省了编译的时间,也使得程序结构更加完美.
AS3中,写一类,代码如下:
[size=+0][size=+0] 新建一FLA[DizhuAS3.fla],写一帧写以下代码
import cw.DizhuAS3.*;
DizhuRules;//这里还是和AS2一样,如果没在FLASH里出现过,编译的时候不会被编译进SWF中
[size=+0][size=+0]
编译后得到包含有 DizhuRules 类的 DizhuAS3.swf 文件.我把他扔进一个叫LIB的文件夹里.
再新建一FLA,尝试在第一帧写以下代码
编译运行,可以看得到 DizhuRules Create 被 trace了出来..
AS3引入了 applicationDomain ,使得被载入进来的swf 里的类与主swf的里都存在与不同的环境中,从而不会出现像AS2中的旧的被新的同名的类替换的后果[因为AS2里的类都是加在_global上]
AS3中,写一类,代码如下:
package cw.DizhuAS3 { public class DizhuRules { public function DizhuRules() { trace("DizhuRules Create") } } } |
[size=+0][size=+0] 新建一FLA[DizhuAS3.fla],写一帧写以下代码
import cw.DizhuAS3.*;
DizhuRules;//这里还是和AS2一样,如果没在FLASH里出现过,编译的时候不会被编译进SWF中
[size=+0][size=+0]
编译后得到包含有 DizhuRules 类的 DizhuAS3.swf 文件.我把他扔进一个叫LIB的文件夹里.
再新建一FLA,尝试在第一帧写以下代码
import flash.net.*; import flash.events.*; var myloader:Loader = new Loader(); myloader.contentLoaderInfo.addEventListener(Event.COMPLETE,onLibLoaded); myloader.load(new URLRequest("LIB/" + "DizhuAS3" + ".swf")); function onLibLoaded(e:Event):void { trace("load compele"); var ClassReference:Class = myloader.contentLoaderInfo.applicationDomain.getDefinition("cw.DizhuAS3::DizhuRules") as Class; //("cw.DizhuAS3::DizhuRules") 与 ("cw.DizhuAS3.DizhuRules") 效果一样 new ClassReference(); } |
编译运行,可以看得到 DizhuRules Create 被 trace了出来..
AS3引入了 applicationDomain ,使得被载入进来的swf 里的类与主swf的里都存在与不同的环境中,从而不会出现像AS2中的旧的被新的同名的类替换的后果[因为AS2里的类都是加在_global上]
给我老师的人工智能教程打call!http://blog.youkuaiyun.com/jiangjunshow
