- 浏览: 1085005 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (695)
- 心情日记 (14)
- AS开发工具 (12)
- 文章转载 (99)
- AIR (5)
- 问题总结 (46)
- SWF格式 (7)
- 测试总结 (10)
- 外文资料 (9)
- 算法技术 (33)
- AS3常用开源库 (43)
- 源码范例 (102)
- FLEX (72)
- FLASH 优化 (33)
- 游戏开发 (49)
- 开发技术 (11)
- 工作应用 (34)
- AS3收集 (140)
- WebBase (0)
- 开发构想 (4)
- 设计模式 (2)
- 框架和框架范例 (19)
- RED5 (3)
- java开发 (3)
- JAVA (1)
- FLASH-3D (23)
- 3D (6)
- 书籍 (10)
- 业界信息资料 (3)
- C# (1)
- JavaScript (12)
- HTML5 (6)
- Flixel (1)
- D5Power RPG网页游戏引擎 (0)
- ColorMatrixFilter - 获得相应颜色的色调 函数 (0)
- Starling (0)
最新评论
-
老顽童203:
字体
水果忍者鼠标跟随特效制作[转载] -
hairball00:
[转] 放出超多的Flash组件源代码 -
he74552775:
flash AS3 RegExp简单功能用法(转) -
hanshuai1232000:
第四点,有利也有弊,等你做了大型的aprg,你就知道了
[转]位图数据内存优化 -
yangfantao:
太感谢
[转] 放出超多的Flash组件源代码
http://bbs.9ria.com/thread-70725-1-1.html
本帖最后由 chocoZero 于 2010-12-20 17:28 编辑
所需条件:
必备知识:推荐有使用ActionScript3编程的一般经验
用户水平:初学者
所需产品:Flash Professional(下载试用版)
样例文件:programming_with_vector.zip
一个数组就像是把一套变量组织在一起的容器。单个数组可以含有许多不同的值。你可以储存和取得数组中的单个值(也就是数组元素)。你也可以通过直接操作数组变量来成组地使用其值。最常见的是索引数组。你可以凭某个索引号从中获取值。Action Script3包括了用于索引数组的两个类。
Array 类:一个可以包含各种值类型的索引数组,其包容度甚至可以允许你在同一个数组里混合各种值类型。
Vector类:也是索引数组。其元素必须都为同一个类的实例。Vector类适用于Adobe Flash Player 10和之后的版本。
如果你需要储存一个所有数据类型都相同的值集合。那Vector类比Array类好些。首先,因为Vector里的所有元素必须具有相同的数据类型,当代码被编译的时候,Action Scritpt编译器会检查数据类型。任何试图增加或改变成错误类型值的代码都会在编译期被捕获。数据类型也会在实时运行时被查到。所以万一数据类型没在编译时被查过,它仍然会检查并且类型限制依旧严格。类型检查的好处之外,采用Vector类的代码运行明显快过相同条件下采用Array类的代码,这可是值得注意的好处。
这篇快速入门描述了创建并使用Vector类的技术。要了解更多Array类相关知识,看看:用Array类编程(中文版(wuyanna翻译))。接下来的部分描述了用Vector对象完成一般任务:创建一个Vector实例,为一个Vector对象添加值,为一个Vector对象更改值,为一个Vector对象的值分类。
创建一个Vector实例
一个Vector对象是一个只保存着某类值的索引数组。Vector对象特定保存的类是Vector的基本型。而调用Vector类的构造函数的时候就创建了一个Vector对象。你也许猜到了,制定给Vector变量的基本类必须匹配调用构造函数时指定的基本型。
当创建一个Vector实例的时候,为了指定它的基本型,你要在Vector类名字上增加额外的信息, 使用一个叫做类型参数的语法格式。比如,下面的表述声明了一个叫做myVector的Vector变量,使用类型参数语法来指出在myVector里的Vector只能包含字符串类型的值。
var myVector:Vector.<String>;
复制代码
当你调用Vector构造函数来实际创建Vector对象的时候可以用一样的语法:
myVector = new Vector.<String>();
复制代码
作为一种规则,只要有Vector这个类名出现在你的代码里,你总是要对它使用一个类型参数。
当然,你可以把变量声明和构造实例整合到一行代码里。
var myVector:Vector.<String> = new Vector.<String>();
复制代码
尽管在这篇快速入门里的例子里诸如String和Number都采用了内建类,一个Vector的基本型可以是任何类。包括你自己的自定义类。比如,假设你定义了一个名叫MyClass的类。这种情况下,以下代码是可行的,它会创建一个元素统统为MyClass实例的Vector对象。
var v:Vector.<MyClass> = new Vector.<MyClass>();
复制代码
预设Vector的长度
Vector类构造函数有两个可选参数令你可以指定Vector实例的特性。第一个参数便是length参数。默认情况下创建的Vector是空的(有0个元素)。不过,如果你传递了一个值给length参数,Vector创建之初便包含了你指定数目的元素。
var myVector:Vector.<String> = new Vector.<String>(7); // myVector is creat
复制代码
预设Vector的规模快过一个个地添加元素进去。所以如果你预先知道一个Vector含有多少个元素,最好就提供一个length参数,如果Vector基本型是布尔或者某个数值型(Number,int,uint),每个元素都被赋予该类型的默认值(布尔型是false,数值型为0)。其他情况下,每个元素初始值为null。
创建一个固定长度的Vector
Vector对象的另一个特点就是可以固定长度,这意味着你可以改变值,但不能通过增加或删除值来改变值的总个数。一个Vector实例默认是非固定长度的。为了创建一个固定长度的Vector,须指定true值给Vector类构造函数的第二参数(fixed参数)。
var myVector:Vector.<String> = new Vector.<String>(7, true); // myVector's length is fixed to 7 elements
复制代码
注意:你可以在任何时候修改这个fixed参数的值,对长度进行限定或取消限定。
myVector.fixed = false; // myVector's length is no longer fixe
复制代码
为一个Vector对象添加值
除了多了一个限制之外,为Vector对象添加值和Array对象是差不多的。Vector对象的所有元素都必须有值(或null)。换句话说,你不能在0-3号元素的值缺失的情况下给第4位置上的元素添加值。实践中,这就意味着在给一个Vector添加一个新元素的时候,你必须以Vector对象现有的length属性为基础来确定新元素的位置(因为一个Vector的第一个元素的序号为0,length属性总是比最后一个元素的序号大1)。下面的代码展示了这个技巧:
var names:Vector.<String> = new Vector.<String>();
// ... assume some elements are added ...
// Add an element to the end of the Vector
names[names.length] = "Bob";
复制代码
除了用数组操作符([])之外,你也可以使用Vector对象的的push()或unshift()方法来给Vector增加元素。和Array类一样,push()方法在Vector的最后一个元素后创建了一个新元素,而unshift()方法在Vector的序号为0的位置创建了一个新元素(之后的已存元素序号往后推一位)。
names.push("Harold"); // adds the value "Harold" to the end of the Vector
names.unshift("Fred"); // adds the value "Fred" to the start of the Vector
复制代码
这些方法的优势在于你把多个值当成方法参数来传递,所有值都会一次性添加进Vector。不过,这种灵活性有个副作用。就是当你使用push()或unshift()来给Vector添加值的时候,编译器不能检查其是否符合既定的数值类型。后果就是,任何使用push()或unshift()添加错误类型值进Vector的代码只能在代码运行时才能看出来。
从Vector对象取值
从Vector对象取值和从Array对象取值是完全一样的。要从特定序号的元素上取值,你只需要使用数组操作符([])来指定你要的元素序号:
var name1:String = names[0];
复制代码
使用数组操作符可以取得值,不过不会从Vector对象里删除之。若既要取得值又要删除之的话,使用pop()方法(删除最后一个元素)或shift()方法(删除元素0并把之后的元素往前挪一位):
var finalName:String = names.pop(); // removes the last value from the Vector
var firstName:String = names.shift(); // removes the first value from the Vector
复制代码
在Vector对象里给值排序
Vector对象的大部分操作都和Array对象一样。一个显著不同的地方便是在Vector里的元素排序上。Vector类只有一个方法用来给值排序:sort()方法。sort()方法不会修改原Vector对象。它会另外返回一个相同基本型,但是排过序的新Vector。
当你使用Vector类的sort()方法时,并没有什么默认的排序行为,即使是对于基本的数据类型比如Number或String。因此,当要用sort()方法时,你都需要指定一个自定义排序逻辑的排序函数。比如,下面的代码里是一个Number型的Vector对象使用sort()方法排序。在这个例子里,代码执行了一个基本的数字排序:从大到小。定义了排序行为的函数叫sortNumbers(),作为参数传递给sort()方法调用。当Flash Player给这些数字排序的时候,它会调用sortNumbers()函数,传递进两个要比较的数字,而结果决定了最终排序:
var numberVector:Vector.<Number> = new Vector.<Number>(); numberVector.push(2, 17, 3.6, 4.4, 29, -34, 0.09235); trace(numberVector); // output: 2,17,3.6,4.4,29,-34,0.09235
var sortedVector:Vector.<Number> = numberVector.sort(sortNumbers); trace(sortedVector); // output: -34,0.09235,2,3.6,4.4,17,29
function sortNumbers(x:Number, y:Number):Number
{ if (x < y) { return -1; }
else if (x > y)
{ return 1; }
else { return 0; } }
复制代码
你可以为任何数据类型定义排序函数。比如,下面的代码给一个Person型的Vector对象排序,先是按姓,然后是按名(它假设有这么个具有姓和名两个属性的Person类。)
var personVector:Vector.<Person> = new Vector.<Person>();
personVector[0] = new Person("Bob", "Smith");
personVector[1] = new Person("Harold", "Johnson");
personVector[2] = new Person("Barbara", "Smith");
personVector[3] = new Person("Arnold", "Anderson");
personVector[4] = new Person("Margaret", "Wooster"); // output:[Smith,Bob],[Johnson,Harold],[Smith,Barbara],[Anderson,Arnold],[Wooster,Margaret]
trace(personVector);
var sortedVector:Vector.<Person> = personVector.sort(sortPeople);
// output:[Anderson,Arnold],[Johnson,Harold],[Smith,Barbara],[Smith,Bob],[Wooster,Margaret]
trace(sortedVector);
function sortPeople(x:Person, y:Person):Number {
// sort by last name var lastNameSort:Number = sortStrings(x.lastName, y.lastName);
if (lastNameSort != 0) { return lastNameSort;
} else {
// if the last names are identical, sort by first name return sortStrings(x.firstName, y.firstName);
}
}
function sortStrings(x:String, y:String):Number {
if (x < y)
{ return -1; }
else if (x > y)
{ return 1; }
else
{ return 0; }
}
复制代码
样例文件的使用
你可以从页顶下载样例文件,programming_with_vector.zip。其中包含了以下文件:
• SortVectorOfNumber.fla 和 SortVectorOfNumber_CS5.fla (Flash CS5 版本): 一个Flash Professional文件。展示了这篇文章里所说的“在一个Vector实例里给值排序”。
• SortVectorOfObject.fla and SortVectorOfObject_CS5.fla (Flash CS5 版本): 展示了在Vector里给自定义对象的排序,如文章里描述的“在一个Vector实例里给值排序”。
• Person.as:Person类的源代码,引用自SortVectorOfObject.fla。
要测试每个应用,须打开该FLA文件并选择Control > Test Movie。
从这里出发
你可以在ActionScript 3.0 Reference for the Adobe Flash Platform的以下条目里找到Vector类的所有详情。
Vector类
Vector.<T>()转换函数
本帖最后由 chocoZero 于 2010-12-20 17:28 编辑
所需条件:
必备知识:推荐有使用ActionScript3编程的一般经验
用户水平:初学者
所需产品:Flash Professional(下载试用版)
样例文件:programming_with_vector.zip
一个数组就像是把一套变量组织在一起的容器。单个数组可以含有许多不同的值。你可以储存和取得数组中的单个值(也就是数组元素)。你也可以通过直接操作数组变量来成组地使用其值。最常见的是索引数组。你可以凭某个索引号从中获取值。Action Script3包括了用于索引数组的两个类。
Array 类:一个可以包含各种值类型的索引数组,其包容度甚至可以允许你在同一个数组里混合各种值类型。
Vector类:也是索引数组。其元素必须都为同一个类的实例。Vector类适用于Adobe Flash Player 10和之后的版本。
如果你需要储存一个所有数据类型都相同的值集合。那Vector类比Array类好些。首先,因为Vector里的所有元素必须具有相同的数据类型,当代码被编译的时候,Action Scritpt编译器会检查数据类型。任何试图增加或改变成错误类型值的代码都会在编译期被捕获。数据类型也会在实时运行时被查到。所以万一数据类型没在编译时被查过,它仍然会检查并且类型限制依旧严格。类型检查的好处之外,采用Vector类的代码运行明显快过相同条件下采用Array类的代码,这可是值得注意的好处。
这篇快速入门描述了创建并使用Vector类的技术。要了解更多Array类相关知识,看看:用Array类编程(中文版(wuyanna翻译))。接下来的部分描述了用Vector对象完成一般任务:创建一个Vector实例,为一个Vector对象添加值,为一个Vector对象更改值,为一个Vector对象的值分类。
创建一个Vector实例
一个Vector对象是一个只保存着某类值的索引数组。Vector对象特定保存的类是Vector的基本型。而调用Vector类的构造函数的时候就创建了一个Vector对象。你也许猜到了,制定给Vector变量的基本类必须匹配调用构造函数时指定的基本型。
当创建一个Vector实例的时候,为了指定它的基本型,你要在Vector类名字上增加额外的信息, 使用一个叫做类型参数的语法格式。比如,下面的表述声明了一个叫做myVector的Vector变量,使用类型参数语法来指出在myVector里的Vector只能包含字符串类型的值。
var myVector:Vector.<String>;
复制代码
当你调用Vector构造函数来实际创建Vector对象的时候可以用一样的语法:
myVector = new Vector.<String>();
复制代码
作为一种规则,只要有Vector这个类名出现在你的代码里,你总是要对它使用一个类型参数。
当然,你可以把变量声明和构造实例整合到一行代码里。
var myVector:Vector.<String> = new Vector.<String>();
复制代码
尽管在这篇快速入门里的例子里诸如String和Number都采用了内建类,一个Vector的基本型可以是任何类。包括你自己的自定义类。比如,假设你定义了一个名叫MyClass的类。这种情况下,以下代码是可行的,它会创建一个元素统统为MyClass实例的Vector对象。
var v:Vector.<MyClass> = new Vector.<MyClass>();
复制代码
预设Vector的长度
Vector类构造函数有两个可选参数令你可以指定Vector实例的特性。第一个参数便是length参数。默认情况下创建的Vector是空的(有0个元素)。不过,如果你传递了一个值给length参数,Vector创建之初便包含了你指定数目的元素。
var myVector:Vector.<String> = new Vector.<String>(7); // myVector is creat
复制代码
预设Vector的规模快过一个个地添加元素进去。所以如果你预先知道一个Vector含有多少个元素,最好就提供一个length参数,如果Vector基本型是布尔或者某个数值型(Number,int,uint),每个元素都被赋予该类型的默认值(布尔型是false,数值型为0)。其他情况下,每个元素初始值为null。
创建一个固定长度的Vector
Vector对象的另一个特点就是可以固定长度,这意味着你可以改变值,但不能通过增加或删除值来改变值的总个数。一个Vector实例默认是非固定长度的。为了创建一个固定长度的Vector,须指定true值给Vector类构造函数的第二参数(fixed参数)。
var myVector:Vector.<String> = new Vector.<String>(7, true); // myVector's length is fixed to 7 elements
复制代码
注意:你可以在任何时候修改这个fixed参数的值,对长度进行限定或取消限定。
myVector.fixed = false; // myVector's length is no longer fixe
复制代码
为一个Vector对象添加值
除了多了一个限制之外,为Vector对象添加值和Array对象是差不多的。Vector对象的所有元素都必须有值(或null)。换句话说,你不能在0-3号元素的值缺失的情况下给第4位置上的元素添加值。实践中,这就意味着在给一个Vector添加一个新元素的时候,你必须以Vector对象现有的length属性为基础来确定新元素的位置(因为一个Vector的第一个元素的序号为0,length属性总是比最后一个元素的序号大1)。下面的代码展示了这个技巧:
var names:Vector.<String> = new Vector.<String>();
// ... assume some elements are added ...
// Add an element to the end of the Vector
names[names.length] = "Bob";
复制代码
除了用数组操作符([])之外,你也可以使用Vector对象的的push()或unshift()方法来给Vector增加元素。和Array类一样,push()方法在Vector的最后一个元素后创建了一个新元素,而unshift()方法在Vector的序号为0的位置创建了一个新元素(之后的已存元素序号往后推一位)。
names.push("Harold"); // adds the value "Harold" to the end of the Vector
names.unshift("Fred"); // adds the value "Fred" to the start of the Vector
复制代码
这些方法的优势在于你把多个值当成方法参数来传递,所有值都会一次性添加进Vector。不过,这种灵活性有个副作用。就是当你使用push()或unshift()来给Vector添加值的时候,编译器不能检查其是否符合既定的数值类型。后果就是,任何使用push()或unshift()添加错误类型值进Vector的代码只能在代码运行时才能看出来。
从Vector对象取值
从Vector对象取值和从Array对象取值是完全一样的。要从特定序号的元素上取值,你只需要使用数组操作符([])来指定你要的元素序号:
var name1:String = names[0];
复制代码
使用数组操作符可以取得值,不过不会从Vector对象里删除之。若既要取得值又要删除之的话,使用pop()方法(删除最后一个元素)或shift()方法(删除元素0并把之后的元素往前挪一位):
var finalName:String = names.pop(); // removes the last value from the Vector
var firstName:String = names.shift(); // removes the first value from the Vector
复制代码
在Vector对象里给值排序
Vector对象的大部分操作都和Array对象一样。一个显著不同的地方便是在Vector里的元素排序上。Vector类只有一个方法用来给值排序:sort()方法。sort()方法不会修改原Vector对象。它会另外返回一个相同基本型,但是排过序的新Vector。
当你使用Vector类的sort()方法时,并没有什么默认的排序行为,即使是对于基本的数据类型比如Number或String。因此,当要用sort()方法时,你都需要指定一个自定义排序逻辑的排序函数。比如,下面的代码里是一个Number型的Vector对象使用sort()方法排序。在这个例子里,代码执行了一个基本的数字排序:从大到小。定义了排序行为的函数叫sortNumbers(),作为参数传递给sort()方法调用。当Flash Player给这些数字排序的时候,它会调用sortNumbers()函数,传递进两个要比较的数字,而结果决定了最终排序:
var numberVector:Vector.<Number> = new Vector.<Number>(); numberVector.push(2, 17, 3.6, 4.4, 29, -34, 0.09235); trace(numberVector); // output: 2,17,3.6,4.4,29,-34,0.09235
var sortedVector:Vector.<Number> = numberVector.sort(sortNumbers); trace(sortedVector); // output: -34,0.09235,2,3.6,4.4,17,29
function sortNumbers(x:Number, y:Number):Number
{ if (x < y) { return -1; }
else if (x > y)
{ return 1; }
else { return 0; } }
复制代码
你可以为任何数据类型定义排序函数。比如,下面的代码给一个Person型的Vector对象排序,先是按姓,然后是按名(它假设有这么个具有姓和名两个属性的Person类。)
var personVector:Vector.<Person> = new Vector.<Person>();
personVector[0] = new Person("Bob", "Smith");
personVector[1] = new Person("Harold", "Johnson");
personVector[2] = new Person("Barbara", "Smith");
personVector[3] = new Person("Arnold", "Anderson");
personVector[4] = new Person("Margaret", "Wooster"); // output:[Smith,Bob],[Johnson,Harold],[Smith,Barbara],[Anderson,Arnold],[Wooster,Margaret]
trace(personVector);
var sortedVector:Vector.<Person> = personVector.sort(sortPeople);
// output:[Anderson,Arnold],[Johnson,Harold],[Smith,Barbara],[Smith,Bob],[Wooster,Margaret]
trace(sortedVector);
function sortPeople(x:Person, y:Person):Number {
// sort by last name var lastNameSort:Number = sortStrings(x.lastName, y.lastName);
if (lastNameSort != 0) { return lastNameSort;
} else {
// if the last names are identical, sort by first name return sortStrings(x.firstName, y.firstName);
}
}
function sortStrings(x:String, y:String):Number {
if (x < y)
{ return -1; }
else if (x > y)
{ return 1; }
else
{ return 0; }
}
复制代码
样例文件的使用
你可以从页顶下载样例文件,programming_with_vector.zip。其中包含了以下文件:
• SortVectorOfNumber.fla 和 SortVectorOfNumber_CS5.fla (Flash CS5 版本): 一个Flash Professional文件。展示了这篇文章里所说的“在一个Vector实例里给值排序”。
• SortVectorOfObject.fla and SortVectorOfObject_CS5.fla (Flash CS5 版本): 展示了在Vector里给自定义对象的排序,如文章里描述的“在一个Vector实例里给值排序”。
• Person.as:Person类的源代码,引用自SortVectorOfObject.fla。
要测试每个应用,须打开该FLA文件并选择Control > Test Movie。
从这里出发
你可以在ActionScript 3.0 Reference for the Adobe Flash Platform的以下条目里找到Vector类的所有详情。
Vector类
Vector.<T>()转换函数
发表评论
-
HttpStatusConfig --一个HTTP 协议返回的 解析说明类
2012-04-18 16:40 0package guwanyuan.qicool.game ... -
HTTP/1.1协议规范(中文归纳版)
2012-04-18 16:39 2113一、介绍(introduction) ... -
[转] [Flash/Flex] 加载SWF性能VS影片剪辑性能
2012-03-15 22:29 0http://bbs.9ria.com/viewthread. ... -
关于富士通windows 7家庭普通板升级为windows 7旗舰版
2012-03-05 14:51 2015windows7普通家庭版不能一下升级到windows7旗舰版 ... -
水果忍者鼠标跟随特效制作[转载]
2012-03-01 16:06 2449实现这效果其实比较简单,主要是思路~! package ... -
请问如何才能让加载到一半的SWF不自动播放
2012-02-29 03:06 1538我用loader加载l=new Loader(); ... -
禁止输入文本可以粘贴
2012-02-10 13:15 2316//禁止输入文本粘贴动作 private static ... -
江湖情缘游戏里的跳的类
2012-02-08 23:55 0package com.app.role.montions ... -
[教程] 路点导航(Waypoint Navigation)
2011-12-31 00:51 0前言:这个不难,所以知道的童鞋不要喷,不知道的童鞋也不要怕,要 ... -
ARPG游戏引擎设计思路
2011-12-31 00:48 00.整体结构 下载 (32.92 KB ... -
Embed绑定XML与txt文本文件
2011-12-28 15:54 4648使用Embed标签可以将图片绑定到swf中并显示,那么我 ... -
Flash_Rich_Text_Editor(完美的富文本编辑器)
2011-12-27 17:55 0Flash_Rich_Text_Editor(完美的富文 ... -
弹弹堂测试
2011-12-08 04:21 0弹弹堂测试弹弹堂测试 -
一些DEMO
2011-11-28 17:42 0一些DEMO一些DEMO -
Matrix学习
2011-11-28 16:51 0Matrix学习 -
[转]三次贝尔曲线
2011-11-10 01:09 1923http://bbs.9ria.com/viewt ... -
[心得] 完美解决as3在ie中初始化时stageWidth和stageHeight为0的问题
2011-11-03 00:46 2939先看下面的一段脚本,这是比较经典的初始化脚本: pa ... -
五子棋算法详解
2011-10-31 04:14 0五子棋算法详解五子棋算法详解五子棋算法详解 -
[转]服务器端ActionScript语言参考
2011-10-31 00:29 0服务器端ActionScript语言参考 -
[转]FLASH与JS序列简单应用
2011-10-28 01:03 2088FLASH与JS序列简单应用 (一) 用swfob ...
相关推荐
Flash MX/Flex是Adobe公司推出的一系列用于创建交互式Web内容的开发工具。Flash MX以其强大的动画制作能力和丰富的交互性,一度成为网页设计的主流技术。而Flex是基于ActionScript 3.0的开发框架,专为构建富互联网...
"Flex"是Adobe开发的一个开源框架,用于构建富互联网应用程序(RIA),它基于ActionScript编程语言和MXML标记语言。这个框架允许开发者创建具有复杂用户界面和交互功能的Web应用。 描述中提到的“Degrafa框架”是一...
Flash、Flex和AIR是Adobe公司推出的RIA(富互联网应用)开发平台的重要组成部分。它们广泛应用于开发网络应用程序和桌面应用程序。在这些平台上开发应用时,内存管理是保证程序稳定运行的重要方面。内存监测及优化...
1. **Adobe Flex架构**:Flex框架由Flex SDK和Flex Builder(现在称为Flash Builder)组成,SDK包含编译器、库和工具,用于创建Flex应用程序,而Builder则提供了一个集成开发环境(IDE)来简化开发过程。 2. **...
《Flex与Flash实现MMORPG背包系统DEMO详解》 在游戏开发中,尤其是在大型多人在线角色扮演游戏(MMORPG)中,背包系统是一个不可或缺的重要组成部分。它允许玩家存储、管理、装备和交易各种游戏内的物品。本篇文章...
Flex是Adobe公司开发的一种用于构建富互联网应用(RIA)的开放源码框架,它基于ActionScript编程语言和Flash Player运行时环境。Flex帮助开发者创建具有交互性和动态视觉效果的Web应用程序。在Flex中,皮肤是一种...
Flex是一种基于Adobe Flash Player或Adobe AIR运行时的开源框架,用于构建富互联网应用程序(RIA)。这个射击游戏就是使用Flex技术开发的,展示了Flex在游戏开发中的应用,特别是面向对象编程的思想。 1. Flex基础...
在《Flex4 Cookbook》这本书中,作者Joshua Noble、Todd Anderson、Garth Braithwaite、Marco Casario 和 Rich Tretola 共同探讨了Adobe Flex 4框架及其相关的ActionScript编程语言的基本概念和技术细节。...
在开发Flex应用时,首先需要在Adobe Flash Builder中创建一个Flex项目。这通常涉及选择“文件”>“新建”>“Flex项目”,然后按照向导的提示完成项目的基本设置,如项目名称、存储位置、目标运行环境等。创建项目后...
在本项目中,我们主要探讨如何使用Adobe Flex技术来创建一款类似于经典的1942飞行射击游戏。Flex是一种基于ActionScript 3.0的开源框架,用于构建富互联网应用程序(RIA),尤其适合开发具有交互性、动画效果和复杂...
ActionScript 3是Adobe Flash Platform的主要编程语言,广泛用于创建交互式内容、网页应用和游戏。这份PDF指南很可能是为那些想要深入理解AS3语法、API以及编程实践的开发者准备的。 AS3的知识点包括但不限于: 1....
Flex是一种基于Adobe Flash技术的开放源代码框架,用于构建富互联网应用程序(RIA)。它提供了丰富的用户界面组件和强大的数据服务支持,使得开发人员能够创建出交互性极强、视觉效果出众的应用程序。在这个场景中,...
Flex是Adobe Systems推出的一种免费的开源框架,主要用于构建高性能的、跨平台的桌面应用程序和移动应用程序。Flex游戏开发,顾名思义,就是利用Flex框架进行游戏设计与开发的过程。 #### 一、显示对象(Display ...
ActionScript 3.0是一种基于ECMAScript规范的编程语言,主要用于开发Adobe Flash Player和Adobe AIR平台上的交互式内容。在AS3.0中,性能得到了显著提升,类型系统更加严格,面向对象编程能力增强,使其成为开发富...
ActionScript 3.0是Adobe Flash Platform的主要编程语言,与之前的版本相比,它经历了重大的变革,尤其是在类型系统和性能上的提升。以下是一些关于ActionScript 3.0面向对象编程的关键知识点: 1. 类与对象:...
本项目是基于Adobe Flash平台,使用ActionScript 3(AS3)编程语言开发的一款滚动抽奖机。AS3是Flash Professional和Flex Builder等开发工具支持的主要编程语言,提供了强大的面向对象特性,适用于创建动态内容和...
这个名为"svg.js.zip_8svg.con_flex_javascript SVG_svg_svg.js"的压缩包,结合描述中的"Trabajar con svg en Flex",似乎关注的是在Adobe Flex环境中使用SVG.js来处理SVG图形。 Flex是一款强大的基于ActionScript...
AMF格式文件最初在Flash Player 6中引入,并被广泛应用于网络通信,特别是在Adobe Flex框架和BlazeDS中间件中,它允许客户端和服务器之间通过AMF编码的数据进行高效、强类型的数据交换。 AMF格式文件有多个版本,...
ActionScript3.0是Adobe开发的一种面向对象的编程语言,主要应用于Flash Professional、Flex等工具,用于创建交互式网页内容、富互联网应用(RIA)以及动画。它在ActionScript2.0的基础上进行了重大改进,引入了更...