AS3的一些常用技巧.pdfVIP

  • 0
  • 0
  • 约1.05万字
  • 约 21页
  • 2023-07-08 发布于上海
  • 举报
1.getDefinition - 模块化你的程序 为了加快程序的加载.. 我们通常会把不同的功能模块做成不同的swf,要需要的时候 再进行加载. 开始的时候.. 我们通常会直接使用 loader 加载,, 然后用 addChild 把loader 显示出来.. 这样就完成了最简单的模块化了.. 当然进一步..我们会发现上面的方法已经满足不了我们的需 求.. 有时候我们需要的不是一个实例对象,我们想得到的是一个 类..让我们可以像调用自身库中的类一样可以实例化..复制.. 等等 这时候我们就可以使用 ApplicationDomain(应用程序域),把 加载进来的swf 中的库的东西当自己的库一样使用 概念性的东西还是不好说... 直接看代码吧..下面的代码就是一个最简单的例子 //还是需要loader 先进行加载 var loader:Loader = new Loader() loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loaderComplete) //sub.swf 是一个外部swf,该swf 库里有一个链接名叫k_abc 元件 loader.load(new URLRequest(sub.swf)) function loaderComplete(e:Event):void{ //创建一个应用程序域 var app:ApplicationDomain = loader.contentLoaderInfo.applicationDomain //使用getDefinition 返回sub.swf 的库中链接名为k_abc 的 Class var c:Class = app.getDefinition(k_abc) as Class //接下来就不多说了..像普通的类一样操作就 2.AS3 中for 循环创建(复制)对象 在as2 中,我们经常使用for 来创建或复制多个相同的对象, 到了 as3, 由于建立对象的方法的改变, 以前的方法已经不适 用了. 今天介绍一下as3 的方法: 方法常用的有两种, 第一种适用所有的对象,方法是先建一个数组,然后把建立的 对象的引用指定对数组相应的索引 第二种适用显示对象,其实在 as3 中,都应该用这种方式,就是 给对象指定name,然后使用getChildByName 的方式来引用该 对象. //通用的方法,适用所有对象 var obj:Array = new Array() for(var i:uint=0;i10;i++){ var m:MovieClip = new MovieClip() addChild(m) obj[mc+i] = m } trace(obj[mc1]) //适用显示对象 for(var k:uint=0;k10;k++){ var mm:MovieClip = new MovieClip() = mc+k addChild(mm) } trace(getChildByName(mc1)) //通用的方法,适用所以对象 var obj:Array = new Array() for(var i:uint=0;i10;i++){ var m:MovieClip = new MovieClip() addChild(m) obj[mc+i] = m } trace(obj[mc1]) //适用显示对象 for(var k:uint=0;k10;k++){ var mm:MovieClip = new MovieClip() = mc+k addChild(mm) } trace(getChildByName(mc1)) 另外,有时候我们会遇到这样的情况 var obj0:MC0 = new MC0() var obj1:MC1 = new MC1() var obj2:MC2 = new MC2() var obj3:MC3 = new MC3() 这个时修,我们可以使用getDefinitionByName,用字符串返回 类 for(var i:uint=0;i4;i++){ var _class:C

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档