flex actionscript Class类 与loader swf文件
来源:互联网 发布:北京工商网络申请平台 编辑:程序博客网 时间:2024/06/05 00:47
new
运算符进行调用时,Class 对象会创建该类的实例。有些方法(如 flash.net.getClassByAlias()
)返回 Class 类型的对象。其它方法可能返回 Class 类型的参数,例如 flash.net.registerClassAlias()
。
该类名称是对 Class 对象的引用,如下例所示:
class Foo { }
class Foo{}
语句是创建 Class 对象 Foo 的类定义。此外,语句 new Foo()
还将创建类 Foo 的一个新实例,其结果为 Foo 类型。
使用 class
语句声明所需类。Class 对象对于高级技术(例如在运行时将类赋值给现有实例对象)很有用,如以下“示例”部分所示。
一个类的任何静态属性和方法都存在于该类的 Class 对象上。Class 自己声明 prototype
。
一般来讲,不需要手动声明或创建 Class 类型的变量。但是,在以下代码中,一个类被赋予公共 Class 属性 circleClass
,同时可以将该 Class 属性作为主 Library 类的一个属性加以引用:
package { import flash.display.Sprite;
public class Library extends Sprite {
public var circleClass:Class = Circle;
public function Library() {
}
}
}
import flash.display.Shape;
class Circle extends Shape {
public function Circle(color:uint = 0xFFCC00, radius:Number = 10) {
graphics.beginFill(color);
graphics.drawCircle(radius, radius, radius);
}
}
另一个 SWF 文件可以加载生成的 Library.swf 文件,然后实例化 Circle 类型的对象。下面的示例演示一种可以访问子 SWF 文件资源的方法。(其它技术包括使用flash.utils.getDefnitionByName()
或导入子 SWF 文件的存根定义。)
package {
import flash.display.Sprite;
import flash.display.Shape;
import flash.display.Loader;
import flash.net.URLRequest;
import flash.events.Event;
public class LibaryLoader extends Sprite {
public function LibaryLoader() {
var ldr:Loader = new Loader();
var urlReq:URLRequest = new URLRequest("Library.swf");
ldr.load(urlReq);
ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, loaded);
}
private function loaded(event:Event):void {
var library:Object = event.target.content;
var circle:Shape = new library.circleClass();
addChild(circle); }
} }
在 ActionScript 3.0 中,可以为编译到 SWF 文件中的外部资源(如图像、声音或字体)创建嵌入类。在较早版本的 ActionScript 中,这些资源通过 MovieClip.attachMovie()
方法使用链接 ID 关联。在 ActionScript 3.0 中,每个嵌入资源由一个唯一的嵌入资源类表示。因此,可以使用 new
运算符实例化资源的关联类,并调用该资源上的方法和属性。
- 声明两个类为
ClassA
和ClassB
。 - 声明一个 Class 类型变量,名为
classToConstruct
,以及一个 Boolean 类型chooseClassA
(在本例中设置为true
),但您的代码可以使用自定义测试表达式来设置该变量的值。
package {
import flash.display.Sprite;
public class ClassExample extends Sprite {
public function ClassExample() {
var classToConstruct:Class;
var classInstance:Object;
classToConstruct = ClassA;
classInstance = new classToConstruct();
trace(classInstance); // [object ClassA]
classToConstruct = ClassB;
classInstance = new classToConstruct();
trace(classInstance); // [object ClassB]
} }
}
class ClassA { }
class ClassB { }
- flex actionscript Class类 与loader swf文件
- flex (actionscript)用 swf 实现 动态类库(dll)
- flex actionScript读取文件
- ActionScript 3外部swf文件载入
- flex文件引用actionscript文件
- FLEX与加载其中的SWF文件通信
- Flex与ACtionSCript关系揭秘
- flex中嵌入swf文件
- Flex中嵌入swf文件
- Flex preloader 引用swf文件
- ActionScript Loader与URLLoader的使用
- 如何创建ActionScript类文件重写flex组件
- Flex RemoteClass ActionScript类与Java类的绑定
- Flex通讯系列---Flex与SWF(一)
- Flex通讯系列---Flex与SWF(二)
- UltraEdit 语法高亮 swf脚本文件 ActionScript 3.0
- Flex与ActionScript 3程序开发
- Flex Swf文件的尺寸优化
- ActionScript 3.0的参数传递方式
- actionscript 块级作用域
- StarUML---推荐一款UML工具(很好很强大)
- 认识java的Class类
- Java中的Class类
- flex actionscript Class类 与loader swf文件
- hasOwnProperty
- Flex中使用模块Module的例子
- actionScript 3.0 简介
- 深入分析Flex [Bindable] 以及使用方法[转]
- 【转】常见数字IC设计、FPGA工程师面试
- flash中stage,document,root以及this的区别应用
- failed to create java visual machine
- Flash ActionScript 3 殿堂之路学习笔记